Copier une DataRow dans une dataTable [Résolu]

Messages postés
216
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
12 avril 2017
- - Dernière réponse : cs_thebigboss
Messages postés
216
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
12 avril 2017
- 28 juin 2012 à 13:26
Bonjour,

je n'arrive pas à faire un truc tout simple. J'ouvre une base de donnée access que je copie dans un dataset. Si je lie ce dataset à mon datagrid tout se passe bien.

Maintenant je souhaite n'afficher que certaines lignes dans mon datagrid.

DataTable dt_result=new DataTable();

foreach(DataRow dr in ds.Tables[str_source].Rows)
{
if(dr[column_to_search].ToString().Contains(tbx_valeur_a_recherche.Text))
         dt_result.Rows.Add(dr);
}
this.dataGrid1.DataSource = dt_result;


Lorsque je fais ce petit code dans un try/catch j'ai un soucis lorsque j'ajoute dr à dt_result.

J'ai beau chercher sur le forum je ne trouve pas d'exemple à ce problème. Est-il trop simple pour que personne n'ait posé la question auparavant ?

Merci pour votre aide.

A+

*******************************************
SharpDevelop est mon ami! CSharpFR.com aussi!!!!!!!!!
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
1471
Date d'inscription
mardi 5 février 2002
Dernière intervention
20 octobre 2014
3
Merci
c'est normale j'ai dit des betises... ca m'apprendra a repondre sans verifier :

dt_result ne possede pas de colonnes c'est pour ca.

//copie la structure
dt_result=ds.Tables[str_source].Clone();

//2 possibilité pour copier la datarow: 
dt_result.ImportRow(dr);
//ou
dr_result.Rows.Add(dr.ItemArray)



BasicInstinct

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de BasicInstinct
Messages postés
1471
Date d'inscription
mardi 5 février 2002
Dernière intervention
20 octobre 2014
0
Merci
Salut,

Il faut cloner le datarow.

dt_result.Rows.Add(dr.Clone());

BasicInstinct
Commenter la réponse de BasicInstinct
Messages postés
216
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
12 avril 2017
0
Merci
Merci, mais sauf erreur de ma part un datarow n'a pas de proprietés "Clone".
J'ai donc essayé avec
dt_result.Rows.Add(dr.Table.Clone());


Mais ça ne marche toujours pas (ArgumentException: Le tableau en entrée est plus long que le nombre de colonne de cette table)

A+

*******************************************
SharpDevelop est mon ami! CSharpFR.com aussi!!!!!!!!!
Commenter la réponse de cs_thebigboss
Messages postés
216
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
12 avril 2017
0
Merci
En essayant avec:
dt_result.ImportRow(dr);


Je n'ai plus d'erreur mais mon datagrid est rempli de lignes vides ...

A+

*******************************************
SharpDevelop est mon ami! CSharpFR.com aussi!!!!!!!!!
Commenter la réponse de cs_thebigboss
Messages postés
216
Date d'inscription
jeudi 30 janvier 2003
Dernière intervention
12 avril 2017
0
Merci
Merci ça marche impec!!!



A+

*******************************************
SharpDevelop est mon ami! CSharpFR.com aussi!!!!!!!!!
Commenter la réponse de cs_thebigboss

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.