Afficher les N premiers éléments d'un Datatable dans un dataGridView ?

Signaler
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
-
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011
-
Salut a toute la communauté.

Je suis en train de faire un programme qui se charge d'afficher des données receuillies d'une base de données SQL Server. Les données sont si lourdes et grandes a l'affichage que l'application semble se planter parfois, surtout dans le tri par colonne des données. Alors, j'ai eu pour idée de n'afficher a chaque fois que les 100 premieres lignes, et donner a l'utilisateur la possibilité de faire des copier/coller du datatable dans excel. Ainsi, au niveau interface application, je n'afficherai que les 100 primieres lignes. J'ai beau tout essayer, mais rien ne marche.
Quelqu'un saurait - il comment s'y prendre?
Y a t-il possibilité de le faire par requete avec "TOP 100" ? ou autre choses !!!!!

Merci pour vos reponses.

voici deja que j'ai essayé de faire avec un Datarow et un select sur DataTable :


[b]try
{
CmdSelect = new SqlCommand(" select * from HANDOVER_PROCESS ", MonControl.MaConnect);
CmdSelect.CommandType = System.Data.CommandType.Text;
MonDataAdapter = new SqlDataAdapter(CmdSelect);
ds.Tables["VOISINAGE_TSH"].Clear();
MonDataAdapter.Fill(ds.Tables["VOISINAGE_TSH"]);
}
catch (Exception xcp)
{
MessageBox.Show(xcp.Message);
}
System.Data.DataTable table = ds.Tables["VOISINAGE_TSH"];
ResulRow = table.Select("top 100", "CELLULE asc");
dat = table.Clone();
for (int i = 0; i <= ResulRow.Length; i++)
{
dat.ImportRow(ResulRow[i]);
}
CM = (CurrencyManager)BindingContext[dat];
RechCellGrid.DataSource = dat;
CM = (CurrencyManager)BindingContext[dat];/b

6 réponses

Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011

Juste rapperler ceci :

DataRow[] ResulRow;
DataTable dat = new DataTable();
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011

Quelqu'un pourrait-il apporter du nouveau a mon problème ?

Merci
Messages postés
792
Date d'inscription
mardi 8 juillet 2003
Statut
Membre
Dernière intervention
12 juillet 2019
8
Bonjour,
voilà ce que je viens de lire à l'instant et qui devrait t'aider.
http://www.codeproject.com/KB/webforms/ExGridView.aspx


louis
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011

J'ai lu le post, mais cela ne resoud pas vraiment mon problème.
Mais, dans la possibilité de réguler un affichage par page comme indiqué dans le post, ca pourrait m'arranger peut être.
Mais comment s'y prendre, la est la question !!!!!!!!!!!
Messages postés
34
Date d'inscription
mardi 3 février 2009
Statut
Membre
Dernière intervention
15 décembre 2011

Voila un code automatiquement generé par sql management 2008;

"SELECT TOP 100 [IMG_ID]
,[PH_ID]
,[IMG_NOM_FICHIER]
,[IMG_DATE_CREATION]
,[IMG_DESCRIPTION]
,[IMG_HAUTEUR]
,[IMG_LARGEUR]
,[IMG_COPYRIGHT]
,[SSCAT_ID]
FROM [Phototheque1].[dbo].[IMAGE_IMG]"

en esperant que ca puisse t'aider
Messages postés
79
Date d'inscription
samedi 12 avril 2008
Statut
Membre
Dernière intervention
22 juin 2011

cette requête est la plus évidente de ce que l'on puisse faire quand on veut afficher un nombre précis de lignes. Mais, cette option ne m'arrange pas, vu que mon DataTable, lui doit contenir toutes les lignes tandis que le DataGridView n'afficherait que les 100 premières lignes. Cela me permettrait d'alléger l'affichage, et de plus copier le datatable dans un Clipboard pour effectuer plus tard des collages dans Excel. J'espère me faire comprendre par ces termes !!!