我们平时用GridView的时候,经常是在后台,所以前面带一个ID号也可以,当我们在给用户后台做用户信息列表的时候,就不能用数据库里的ID号了,因为那样会给用户带来不好的感觉,因为号码的不连贯,所以感觉不出像自己的东西一样,所以只能让他自动编号。
首先我们为 Gridview 增加一个新的空白列,如下:
<asp:BoundField HeaderText="序号">
<ItemStyle HorizontalAlign="Center" Width="26px" />
</asp:BoundField>
在 GridView RowDataBound 事件中编写代码,如下:
protected void RowDataBond1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex > -1)
{
e.Row.Cells[0].Text = Convert.ToString(e.Row.RowIndex + 1);
}
}
这样就会有一个自动编号的列出来了,那么我们要对某一列进行操作的时候就不能用cells[0].text的方法了,那样得到的ID号和数据库里的并不对应,所以我们要用主键的方法,我们首先在GridView的属性中的DataKeyNames里面写上我的的表主键,然后在到方法里用语句把这个值取出来,我们就知道用户是要对哪一列进行操作了,下面写出了几个在事件中取出主键值的方法,以供参考。
我们最常用的,当然就是RowDataBound方法了
在
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
}
其次就是删除事件
在
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
分页事件
在
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
还有其它几个不常用的:
在
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs
在
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
在
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)