2015-12-09 149 views
0

我知道這可能聽起來像一個非常基本的問題,但我發現大多數例子都是針對GridView的。如何循環訪問DataGrid?

我只想要一個遍歷DataGrid的每一行的foreach循環。 DataGrid dgDetails = new DataGrid();

我試圖foreach (DataGridItem dataGridItem in dgDetails.Items)

但它跳過了這一點,因爲它沒有找到任何物品。

我想要做這樣的事情:

foreach (GridViewRow row in GridView1.Rows) 
{ 
    if (row.RowIndex % 10 == 0 && row.RowIndex != 0) 
    { 
     row.Attributes["style"] = "page-break-after:always;"; 
    } 
} 

但我需要改變它爲一個DataGrid工作。我試圖在第十行之後插入分頁符。 但我知道DataGrid不包含'行'的定義,所以可以使用什麼呢?

+0

嘗試使用'foreach(DataGridRow dgRow in dgDetails.Rows)'? – Prabhat

+0

@SuprabhatBiswal導致錯誤:\t'System.Web.UI.WebControls.DataGrid'沒有包含'Rows'的定義,也沒有包含接受'System.Web.UI.WebControls'類型的第一個參數的擴展方法'Rows' .DataGrid'可以找到(你是否缺少使用指令或程序集引用?) – user123456789

+0

可能是foreach(datagridviews.Rows中的DataGridViewRow行) –

回答

1

如前面在問題的評論中指出的,DataGrid沒有.Rows方法。使用foreach (DataGridItem dataGridItem in dgDetails.Items)是遍歷DataGrid行的方式。在執行foreach循環之前,您需要確保設置源並進行數據綁定。

DataGrid dgDetails = new DataGrid(); 
    dgDetails.DataSource = your source 
    dgDetails.DataBind(); 
    foreach (DataGridItem dataGridItem in dgDetails.Items) 
    { 
     //Do things with the dataGridItem here. 
    }