2013-03-06 40 views
17

Trong C#, tôi đang cố gắng lặp qua tập dữ liệu của mình để hiển thị dữ liệu từ mỗi hàng từ một cột cụ thể. Tôi muốn có được mỗi ngày dưới tên cột "TaskStart" và hiển thị nó trên một báo cáo, nhưng nó chỉ cho thấy ngày từ hàng đầu tiên cho tất cả các hàng ai cũng có thể giúp đỡ?C#, Lặp qua tập dữ liệu và hiển thị từng bản ghi từ cột tập dữ liệu

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

Trả lời

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

Hi Cảm ơn bạn đã trả lời, bây giờ nó chỉ hiển thị ngày cuối cùng trên hàng cuối cùng cho tất cả hồ sơ? – Peter

+0

Dường như bạn có vấn đề với rpt.SetParameterValue ("TaskStartDate", TaskStart); vì bạn đặt nó ở mỗi vòng nhưng bạn sử dụng nó ở bên ngoài nó. Ngoài ra, ngày được định dạng của bạn cũng không đi đến đâu cả. –

13

Tôi tin rằng bạn có ý định cho nó thêm theo cách này:

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

Bạn luôn truy cập hàng đầu tiên của bạn trong tập dữ liệu của bạn.

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