我想在GridView數據綁定的中間添加標題。我更新了DataTable以包含標題和正確位置(我在調試過程中檢查過它們在那裏)。在包含標題的新行上,其中一個不需要的字段(不需要在標題中不需要該信息)在其中有一個名爲「Subheader」的標誌。
背景資料:
所以我的數據錶行持有的服務器名稱,該組的服務器所屬。我更新了DataTable,以便它插入一個新的行,其中服務器名稱是標題文本。該新行所屬的服務器組是「Subheader」。我的數據表保存比我的gridview顯示更多的信息。我的gridview只需要一列,但有一列visibility=false;
,其中包含服務器組。
我想達到的目標:
所以,當我綁定此數據表到我希望所有的非首行是指向另一個位置鏈接,GridView的。所有的數據行都是標題,我想只保留它們。
代碼:
private void CurrentServers_RowCreated(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if(e.Row.Cells[1].Text != "Subheader")
{
e.Row.Cells[0].Text = "<a href='/EventViewer.aspx?m=" + e.Row.Cells[0].Text + "&s=&e=Application&r=25'>" + e.Row.Cells[0].Text + "</a>";
}
}
}
問題:
這是行不通的。 e.Row.Cells[1].Text != "Subheader"
總是返回true。在調試時,我檢查e.Row.Cells[1].Text
的值,並在那裏它有我需要的信息。
- 這是我應該處理的正確事件嗎?
- 如何訪問該數據?
e.Row.Cells[1].Text
和e.Row.Cells[1].ToString()
不回我想要的結果,即使當調試我能找到我想要e.Row
- 我試着找出究竟是如何工作的,但我無法找到答案的價值。如果我的GridView只有2列數據的列,
e.Row.Cells
將只有2格的gridview需要,或者這是否發生在它拆分數據表之前(即它是否具有我的數據表的所有列)
爲什麼不試試'_RowDataBound'? – Bastardo
我也嘗試過,但我不確定需要處理哪些事件以及如何處理。請參閱問題1. –
和'_RowDataBound'不起作用?你的問題1:http://forums.asp.net/t/996312.aspx – Bastardo