2013-03-06 9 views
17

In C# versuche ich, eine Schleife durch meine Datenmenge zu machen, um Daten aus jeder Zeile einer bestimmten Spalte anzuzeigen. Ich möchte, dass jedes Datum unter dem Spaltennamen "TaskStart" abgerufen und in einem Bericht angezeigt wird, aber es zeigt nur das Datum aus der ersten Zeile für alle Zeilen. Kann jemand helfen?C#, Durchlaufen des Datasets und Anzeigen jedes Datensatzes aus einer Datensatzspalte

foreach (DataTable table in ds.Tables) 
{ 

    foreach (DataRow dr in table.Rows) 
    { 
     DateTime TaskStart = DateTime.Parse(
      ds.Tables[0].Rows[0]["TaskStart"].ToString()); 
     TaskStart.ToString("dd-MMMM-yyyy"); 
     rpt.SetParameterValue("TaskStartDate", TaskStart); 
    } 
} 

Antwort

11
DateTime TaskStart = DateTime.Parse(dr["TaskStart"].ToString()); 
+0

Hallo Danke für die Antwort, zeigt seine jetzt gerade das letzte Datum in der letzten Zeile für alle Datensätze? – Peter

+0

Es sieht so aus, als hätten Sie Probleme mit Ihrem rpt.SetParameterValue ("TaskStartDate", TaskStart); weil du es in jeder Runde einstellst, aber du benutzt es irgendwo außerhalb davon. Auch Ihr formatiertes Datum geht nicht überall hin. –

13

Ich glaube, Sie es auf diese Weise bestimmt:

foreach (DataTable table in ds.Tables) 
{ 
    foreach (DataRow dr in table.Rows) 
    { 
     DateTime TaskStart = DateTime.Parse(dr["TaskStart"].ToString()); 
     TaskStart.ToString("dd-MMMM-yyyy"); 
     rpt.SetParameterValue("TaskStartDate", TaskStart); 
    } 
} 

Sie Zugriff auf immer die erste Zeile in der Datenmenge.

5
foreach (DataRow dr in ds.Tables[0].Rows) 
{ 
    //your code here 
} 
2
foreach (DataTable table in ds.Tables) 
{ 
    foreach (DataRow dr in table.Rows) 
    { 
     var ParentId=dr["ParentId"].ToString(); 
    } 
} 
Verwandte Themen