GridView单击选中问题
阅读(101) 评论(0) 发表时间:2008年04月15日 10:58
前些天在用到gridview绑定数据的时候,遇到点问题。以前用的是vs.net2003,里面的datagrid选择行的时候只要在列里面加入选择按钮,后台加入下面代码就可以实现
protected void DataGrid1_ItemCommand(object source, DataGridCommandEventArgs e)
{
if (e.CommandName == "Select")
{
//需要执行的代码
//下面是获取DataGrid表格中的单元格内容
string x = e.Item.Cells[11].Text.ToString().Trim();
}
}
但是,在vs.net2005中的gridview中不是这么个用法,上网找了好久,才拼凑起来一个比较好的方案,写在这里,希望能给像我一样的菜鸟一定的帮助。
首先前台的gridview中加入一个按钮列,并且设置为可见,需要在html中直接加入代码
<asp:CommandField ShowSelectButton = "True" HeaderText="点击选择" />
如果不加此列Visible=false,须在<%@ Page %>中加上EnableEventValidation="false" 才不会报错
后台代码中加入下面
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
//这是个测试,在一个文本框里显示你所点击表格中一行中的一个列值
this.TextBox1.Text = GridView1.SelectedRow.Cells[3].Text;
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int i;
for (i = 0; i <= GridView1.Rows.Count; i++)
{
//首先判断是否是数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
//单击行的任意列会自动选中此行,加在RowCreated事件中也可以
e.Row.Attributes.Add("onclick", "__doPostBack('GridView1','Select$" + e.Row.RowIndex + "')");
}
}
}
{
if (e.CommandName == "Select")
{
//需要执行的代码
//下面是获取DataGrid表格中的单元格内容
string x = e.Item.Cells[11].Text.ToString().Trim();
}
}
但是,在vs.net2005中的gridview中不是这么个用法,上网找了好久,才拼凑起来一个比较好的方案,写在这里,希望能给像我一样的菜鸟一定的帮助。
首先前台的gridview中加入一个按钮列,并且设置为可见,需要在html中直接加入代码
<asp:CommandField ShowSelectButton = "True" HeaderText="点击选择" />
如果不加此列Visible=false,须在<%@ Page %>中加上EnableEventValidation="false" 才不会报错
后台代码中加入下面
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
//这是个测试,在一个文本框里显示你所点击表格中一行中的一个列值
this.TextBox1.Text = GridView1.SelectedRow.Cells[3].Text;
}
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int i;
for (i = 0; i <= GridView1.Rows.Count; i++)
{
//首先判断是否是数据行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");
//单击行的任意列会自动选中此行,加在RowCreated事件中也可以
e.Row.Attributes.Add("onclick", "__doPostBack('GridView1','Select$" + e.Row.RowIndex + "')");
}
}
}