2013-03-06 9 views
17

C#では、データセットをループして特定の列の各行のデータを表示しようとしています。私は列名 "TaskStart"の下に各日付を取得してレポートに表示したいが、その行はすべての行の最初の行の日付を表示するだけで誰でも手助けできますか?C#、データセットをループし、データセットの列から各レコードを表示

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); 
    } 
} 

答えて

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

こんにちは今、そのだけのすべてのレコードの最後の行の最後の日付を示す回答のおかげで、? – Peter

+0

rpt.SetParameterValue( "TaskStartDate"、TaskStart)で問題が発生しているようです。 あなたはそれを各ラップで設定していますが、あなたはそれを外側で使用しているからです。また、あなたのフォーマットされた日付はどこにも行きません。 –

13

私はあなたがより多くをこのようにそれを意図したと信じて:

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); 
    } 
} 

あなたは常にあなたのデータセットの最初の行にアクセスしました。

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(); 
    } 
} 
関連する問題