2010-07-29 2 views
4

Dans mon code derrière j'ai mis un résultat de la requête dans les données qui retourne une table comme comme ci-dessous:Calculer le nombre de lignes de jeu de données

Sl_NO COMPLEATED_ON  SCORE  IS_PRESENT  MAX_VALUE 
1   29/07/2010   4   0    12 
2   29/07/2010   5   0    13 
3   29/07/2010   6   1    23 
4   29/07/2010   7   1    44 
5        6   1 
6        5   0 
7        4   1 

Mon reqirement est que je dois compter le nombre total de lignes non vides le nom de la colonne est COMPLEATED_ON.Je veux dire de l'exemple ci-dessus, il devrait retourner 4 puisque reste trois lignes de la colonne COMPLEATED_ON est vide.Peut-on me dire comment faire cela en C#?

Répondre

10

Essayez ceci:

dsDataSet.Tables[0].Select("COMPLEATED_ON is not null").Length; 
1

Vous pouvez utiliser la méthode Select du DataTable:

DataTable table = DataSet.Tables[tableName]; 

string expression = "COMPLEATED_ON IS NOT NULL AND COMPLEATED_ON <> ''"; 
DataRow[] foundRows = table.Select(expression); 

int rowCount = foundRows.Length; 

Ou ici est un moyen de force brute:

int count = 0; 

DataTable table = DataSet.Tables[tableName]; 
foreach (DataRow row in table.Rows) 
{ 
    string completed = (string)row["COMPLEATED_ON"]; 
    if (!string.IsNullOrEmpty(completed)) 
    { 
     count++; 
    } 
} 
-1

Vous pouvez utiliser LINQ pour déterminer ceci:

var nonEmptyRows = (from DataRow record in myDataSet.Tables[0].AsEnumerable() 
        where !string.IsNullOrEmpty(record.Field<string>("COMPLEATED_ON")) 
        select record).Count(); 

nonEmptyRows serait alors un int indiquant le nombre de lignes non vides.

Questions connexes