当项被数据绑定到 DataGrid 控件后,将引发 ItemDataBound 事件。此事件提供了在客户端显示数据项之前访问该数据项的最后机会。 利用 DataGrid 的 ItemDataBound 事件, 我们可以轻松实现一些实用的功能。
private void DataGrid1_ItemDataBound( object sender, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
DataRowView drv = (DataRowView)e.Item.DataItem;
// 设置每一行的序号
int num = e.Item.ItemIndex + 1;
e.Item.Cells[0].Text = num.ToString();
// “性别”字段在数据库中是以“ 0 ” 和“ 1 ” 存储的,现在以“男”和“女”展现给用户
int sex = Convert.ToInt32(drv["FSex"]);
e.Item.Cells[2].Text = (sex == 0 ? " 男 " : " 女 ");
// 将“婚否”字段绑定到 CheckBox
int married = Convert.ToInt32(drv["FMarried"]);
CheckBox chk = (CheckBox)e.Item.FindControl("CheckBox1");
chk.Checked = (married == 0 ? false : true );
}
}
效果如下图所示: