一、获取本行id。两种办法:1、获取本行单元格和2、获取DataKeys来实现;
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "view")
{ //需要在GridView里面把按钮列转为TemplateField
Button button = (Button)e.CommandSource;
GridViewRow row = (GridViewRow)button.Parent.Parent;
string a = row.Cells[0].Text.ToString();//获得第一个单元格的值
string b = this.GridView1.DataKeys[row.DataItemIndex].Values[0].ToString();//获得DataKeys的值
}
}
二、手动添加列的位置问题
我们在使用Gridview控件时,有时会遇到既有手动添加列又有自动生成列的情况,手动添加列默认显示在自动生成列的前面,如果我们想把手动添加列放到最后面,可以使用下面的代码:
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.EmptyDataRow && e.Row.RowType != DataControlRowType.Pager)
{
for (int i = 0; i < 手动生成列的个数; i++)
{
TableCell cell = e.Row.Cells[0];
e.Row.Cells.RemoveAt(0);
e.Row.Cells.Add(cell);
}
}
}
源:http://soft.ccw.com.cn/programing/dotnet/htm2008/20081013_519590.shtml