J'ai un ensemble de données objds. objds contient une table nommée Table1. Table1 contient la colonne nommée ProcessName. Ce ProcessName contient des noms répétés, je souhaite donc sélectionner uniquement des noms distincts, est-ce possible.
intUniqId[i] = (objds.Tables[0].Rows[i]["ProcessName"].ToString());
Réponses:
la source
table.AsEnumerable().GroupBy(row => row.Field<int>("mo")).Select(group => group.First()).CopyToDataTable()
Suivre une seule ligne de code évitera les lignes dupliquées d'un
DataTable
:Où:
Le premier paramètre dans
ToTable()
est un booléen qui indique si vous voulez des lignes distinctes ou non.Le deuxième paramètre dans le
ToTable()
est le nom de la colonne sur la base duquel nous devons sélectionner des lignes distinctes. Seules ces colonnes seront dans la table de données retournée.La même chose peut être faite à partir d'un
DataSet
, en accédant à unDataTable
:la source
DefaultView
propriété d'unDataTable
.ToTable(boolean, params string[] columnNames)
méthode permet de spécifier plusieurs colonnes.la source
Avec LINQ (.NET 3.5, C # 3)
la source
Vous pouvez utiliser comme ça:
data
estDataTable
mais les performances seront en baisse. essayez d'utiliser le code ci-dessous:
Pour la performance; http://onerkaya.blogspot.com/2013/01/distinct-dataviewtotable-vs-linq.html
la source
la source
Pour améliorer la réponse ci-dessus: La fonction ToTable sur dataview a un indicateur "distinct".
la source
Travaux suivants. Je l'ai fonctionné pour moi avec .NET 3.5 SP1
la source
Je viens de trouver ceci: http://support.microsoft.com/default.aspx?scid=kb;en-us;326176#1
Tout en recherchant quelque chose de similaire, uniquement, spécifiquement pour .net 2.0
Je suppose que l'OP recherchait distinct lors de l'utilisation de DataTable.Select (). (Select () ne prend pas en charge distinct)
Voici donc le code du lien ci-dessus:
la source
la source
Syntaxe:-
EX:-
la source
La solution la plus simple consiste à utiliser LINQ, puis à transformer le résultat en DataTable
Ceci n'est valable que pour asp.net 4.0 ^ Framework et il a besoin de la référence à System.Data.DataSetExtensions comme l'a souligné Ivan Ferrer Villa
la source
System.Data.DataSetExtensions
la source
Il filtre la table de données avec le code électronique et l'année fiscale considérés comme uniques
la source
C'est facile
et dt2 datatable contiennent des données uniques column1, Column2..ColumnNth.
la source
la source
quelque chose comme?
SELECT DISTINCT .... FROM table WHERE condition
http://www.felixgers.de/teaching/sql/sql_distinct.html
note: question sur les devoirs? et que Dieu bénisse Google.
http://www.google.com/search?hl=fr&rlz=1C1GGLS_enJO330JO333&q=c%23+selecting+distinct+values+from+table&aq=f&oq=&aqi=
la source
la source