Je souhaite obtenir des enregistrements distincts en fonction de certains champs. J'utilise la méthode suivante:Enregistrements distincts dans DataTable
string[] TobeDistinct = { "PKID" };
DataTable dtDistinct = GetDistinctRecords(ds.Tables[0], TobeDistinct);
DataSet ds2 = new System.Data.DataSet();
ds2.Tables.Add(dtDistinct);
public static DataTable GetDistinctRecords(DataTable dt, string[] Columns)
{
DataTable dtUniqRecords = new DataTable();
dtUniqRecords = dt.DefaultView.ToTable(true, Columns);
return dtUniqRecords;
}
Cela me donne les enregistrements distincts, mais seulement deux enregistrements viennent. Seulement deux PKID distincts viendront. Par exemple, j'ai plusieurs enregistrements avec PKID 10,12,14,16, mais le résultat est 2 lignes avec PKID 10 et 12. Plus de deux lignes ne sont pas là, mais devraient être là. Qu'est-ce que je dois faire?
Je suivre cet article: http://www.codeproject.com/Tips/153008/Select-DISTINCT-records-based-on-specified-fields
Impossible de reproduire votre problème. Etes-vous sûr que vous passez la bonne table à GetDistinctRecords? – Steve
duplication possible de [Comment sélectionner des lignes distinctes dans un datatable et stocker dans un tableau.] (Http://stackoverflow.com/questions/1199176/how-to-select-distinct-rows-in-a-datatable-and -store-into-an-array) – JNF