根據某列的值改變其樣式最好的方法是在GridView的DataRowBound事件中想辦法。在GridView中的行綁定數據後將立即執行DataRowBound事件。DataRowBound事件使用GridViewRowEventargs類作為事件變量。通過事件變量你能夠利用GridViewRowEventArgs屬性操作已經綁定數據的行。
復制代碼 代碼如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
GridViewRow row = e.Row;
}
Row將返回TableRow類中的一個GridViewRow對象。
綁定的Row有幾種不同的類型。例如:DataRow, EmptyDataRow, Footer, Header, Pager 和 Separator。通過GridView的RowType屬性可以得到當前行的行類型。RowType是一組DataControlRow枚舉。
看下面的代碼示例,檢測GridView列出的行是否為一個標准類型的行。
復制代碼 代碼如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//Do something!
}
}
可以使用Row的Cells屬性得到其Cells,它將返回一個TableCellCollection對象。然後通過TableCellCollection索引得到特定的Cells。TableCellcollection索引將返回一個TabelCell對象,對應於Row中的一個Cell:
復制代碼 代碼如下:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string value = e.Row.Cells[0].Text;
}
}