如何根据列 Header 更改 GridView 列颜色

How to Change GridView Column Color Based on Column Header

如何根据 asp.net 中的第 header 列更改 GridView 列的颜色 (vb.net)? 例如,当列 header 的文本以 "GT_" 开头时,整列的文本将为红色,而 header 和 "CF_" 的文本将为绿色。

像这样使用 rowdatabound 事件:

protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{    
  if (e.Row.RowType == DataControlRowType.DataRow)
   {
     DataRowView drv = (DataRowView)e.Row.DataItem;    
     for (int i = 0; i < drv.DataView.Table.Columns.Count; i++)
     {
       if (drv.DataView.Table.Columns[i].ColumnName.StartsWith("GT_"))    
        {
          e.Row.Cells[i].BackColor = System.Drawing.Color.LawnGreen;
          grdAdd.Columns[i].HeaderStyle.BackColor = System.Drawing.Color.Khaki;    
        }
     }
  }
}

在这里输出