我们需要访问GridViewID.Rows[index]来访问index对应的那一行,GridViewID.Rows[index].Cells[index]来访问某一单元格.然而当RowDataBound事件触发时,GridViewRow却没有添加到Rows集合中, 因此我们不能在RowDataBound事件处理中通过当前GridViewRow实例
取而代之,我们可以通过e.Row来访问。为了高亮某一行我们用下面的代码
- e.Row.BackColor = System.Drawing.Color.Yellow;
我们还可以通过cSSClass取得同样的效果(推荐)
- protected void HighlightCheapProducts_RowDataBound(object sender, GridViewRowEventArgs e)
- {
- // Make sure we are working with a DataRow
- if (e.Row.RowType == DataControlRowType.DataRow)
- {
- // Get the ProductsRow object from the DataItem property...
- Northwind.ProductsRow product = (Northwind.ProductsRow)((System.Data.DataRowView)e.Row.DataItem).Row;
- if (!product.IsUnitPriceNull() && product.UnitPrice < 10m)
- {
- e.Row.CssClass = "AffordablePriceEmphasis";
- }
- }
- }
GridViewRow: 所需要的行用高亮黄色显示
【编辑推荐】