2010-09-09 66 views
0

我一箇中繼器,從表一中的佈局像讀取工作得到一個列名需要遍歷列並獲取每個標題(或網站)的設施列表。最好,我有一個循環來通過列表。類似於在直放站OnItemCreated

for each column 
    if column is not Title or Location 
     Append to StringBuilder "column name" 

如何獲取該列名進行比較?

回答

1

下面介紹如何在Repeater控件的OnItemCreated事件而得到的列名:

protected void rptOnItemCreated_OnItemCreated(object sender, RepeaterItemEventArgs e) 
{ 
    string columnName = string.Empty; 
    if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) 
    { 
     DataRowView drv = (DataRowView)e.Item.DataItem; 
     DataRow dr = drv.Row; 
     foreach (DataColumn dc in dr.Table.Columns) 
     { 
      // Do what you want with the column name 
      columnName = dc.ColumnName; 
     } 
    } 
} 
+0

正是我一直在尋找!謝謝! – 2010-09-09 17:52:12

0

中繼器不是基於表格的控件,所以在服務器端很難實現。你可以做的是可編程地創建一個表格,或使用網格控件。或者,試着讓表格成爲服務器端的控件,然後看看它是否適合中繼器(我認爲它不會)。或者,如果您可以說忽略前兩列,則將中繼器項目中的表格行作爲服務器端行,並使用FindControl查找該項目並對其執行操作。您必須使用單元格索引來顯示/隱藏列中的單元格。

HTH。