begin process at 2008 07 20 03:33:26
1 213 119 membres
42 nouveaux aujourd'hui
14 166 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : BAse de données et datagridview [ Base de données / SQL Server ] (cudenetf)

BAse de données et datagridview le 25/07/2006 07:21:45

cudenetf
Bonjour,
j'aimerais savoifr comment remplir un datagridview le plus rapidement possible est-il plus rapide de remplir a partir d'un execute reader ou d'un datadapter ou autre?
POur l'instant je rempli mes datagrdiview a l'aide d'une boucle (while datareader.read()) Mais je me demande si c la meilleur solution. J'aimerais potimiser ua maximum afin d'avoir un bon "rendement" lorsque la BD est importante.
Dans le cas ou on lie la table a un datasource, J'aimerais savoir comment cela se pase pour "customiser" les colonnes (si je veux pouvoir changer leur nom , leur taille, visibilité, etc...).Aussi quand on lie le datagridview a une source de données (table d'une BD=datase)
Comment choisit-on le critere sur lequel on tri e cette table?

Il y a aussi VIRTUAL MODE , je ne comprends pas q quoi cela sert et comment s'en servir.

De meme ds le senss inverse. Comment faire pour mettre les données d'un datagridview ds la bd (pour l'instant je poarcours chaque ligne du datagridview  que j'insere dans une BD pluiseurs tables des fois pour un seul datagridview). Il y a le cas ou le datagridview représente un tableau qu'on remplit "a la main" (dans ce cas je pense que cette methode est bonne puisqu'il ne s'agit que d'inseertion).
Et il y a le cas ou le datagridview représente une part des données d'une table aussi (a ce moment il y a plusieurs sortes d'operations : update,insert,delete et la je ne sais pas comment faire).

Merci bien pour toutes reponse ou indication qui pourrait m'aider a comprendre a a manipuler correctement ces datgridview qui m'ont l'air bien pratiques...


Re : BAse de données et datagridview le 25/07/2006 10:46:35

sebmafate
Membre Club
(Admin CS)
le plus rapide, c'est de passer par un DataAdapter... tu peux aussi activer le mode virtuel... l'intérêts c'est qu'il ne récupère que les lignes qu'il affiche.

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft MVP Visual C#]


Re : BAse de données et datagridview le 25/07/2006 10:52:25

Lutinore
(Admin CS)

Salut,

Je te fais un copier/coller d'un exemple que j'avais déja donné avec un DataGrid pour le remplir, customiser ses colonnes et filtrer les lignes, ça doit pas être bien différent avec le DataGridView.. ( ?? )


string cnxString =
@"Data Source = localhost\SQLEXPRESS;
Initial Catalog = Northwind;
Integrated Security = true;";

string cmdString = @"SELECT * FROM dbo.Products";

DataSet ds;

using ( SqlConnection cnx = new SqlConnection( cnxString ) )
{
    cnx.Open( );

    SqlDataAdapter da = new SqlDataAdapter( cmdString, cnx );

    ds = new DataSet( "Northwind" );
    da.Fill( ds, "Products" ); // Donne un nom à la table créée.
}

//  Afficher uniquement 2 colones.

DataGridTextBoxColumn columnProductName = new DataGridTextBoxColumn( );
columnProductName.MappingName = "ProductName"; // Nom de la colonne.
columnProductName.HeaderText = "Nom du Produit";

DataGridTextBoxColumn columnUnitPrice = new DataGridTextBoxColumn( );
columnUnitPrice.MappingName = "UnitPrice"; // Nom de la colonne.
columnUnitPrice.HeaderText = "Prix à l'unité";

DataGridTableStyle style = new DataGridTableStyle( );
style.MappingName = "Products"; // Nom de la table.
style.GridColumnStyles.AddRange
(
    new DataGridColumnStyle[ ]
    {
        columnProductName,
        columnUnitPrice
    }
);

// Afficher uniquement certaines lignes

DataView dv = new DataView( ds.Tables[ "Products" ] ); // Nom de la table.
dv.RowFilter = "ProductName='Chai'OR ProductName='Ikura'"; // comme un WHERE.

DataGrid dg = new DataGrid( );
dg.DataSource = dv;
dg.TableStyles.Add( style );
dg.Dock = DockStyle.Fill;

this.Controls.Add( dg );


Re : BAse de données et datagridview le 26/07/2006 15:47:52

cudenetf
merci pour l'exemple,
datagridview ne connait pas tablestyle,
je n'ai pas reussi a choisir les colonnes que je veux afficher .
Par contre il m'avait sembler avoir lu que sqlreader etait plus rapide que sqladataadapter.
Que ct fait expres poiur lire les données et donc plus rapide (si je n'ai que de la lecture a faire)
vrai , faux?
j'y comprends plus grand chose la

Re : BAse de données et datagridview le 26/07/2006 15:55:24

MorpionMx
Membre Club
(Admin CS)
En effet, il n'y a pas de TableStyle avec le DataGridView
Pour cacher une colonne, tu peux simplement mettre sa propriété Visible a false;

Mx
MVP C#
 



Classé sous : bd, table, données, datagridview, cas

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Boutique

Boutique de goodies CodeS-SourceS