日期:2014-05-17  浏览次数:20542 次

点击gridview中某一行,获取该行内容
我用gridview显示数据库中的查找内容,当我输入一个条件时,会在gridview中显示这个条件下的多条记录,现在我想的是,但我点击一条信息的任意位置时,就内在后台cs中用c#代码获取这行的任意一列的内容,具体代码该怎么写呢?有高人指点一下吗?

------解决方案--------------------
添加 RowDataBound 事件

下面是我以前做的一个双击的时候页面弹出所双击行Cells2内容的例子。希望有帮助。
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if(e.Row.RowType==DataControlRowType.DataRow)
{
e.Row.Attributes.Add("ondblclick", "MyAlert('" + e.Row.Cells[2].Text+"')");
}

}
------解决方案--------------------
在gridview的单击事件里
int rows = (int)dataGridView1.CurrentRow.Index; 取当前选中行
在数据绑定时,赋值给一个DataTable,再从table取值 
DataTable.Rows[rows].ItemArray.GetValue(列).ToString()
------解决方案--------------------
单击 dataGridView1中的CellClick
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//如果id是第一个字段,取得当前行的id
int id=dataGridView1.CurrentRow.Cells[0].Value;
}
LZ是不是你想要的结果~
------解决方案--------------------
C# code
 e.Row.Attributes.Add("ondblclick", "存储cook js代码('" + e.Row.Cells[2].Text+"')");

------解决方案--------------------
探讨
我怎么在gridview的事件里没有找到你说的单击事件啊?麻烦能给点完整的吗,谢谢

------解决方案--------------------
探讨
单击 dataGridView1中的CellClick
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
//如果id是第一个字段,取得当前行的id
int id=dataGridView1.CurrentRow.Cells[0].Value;
}
LZ是……

------解决方案--------------------
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{
e.Row.Cells[e.Row.Cells.Count - 4].Attributes.Add("onclick", "window.open('../a.aspx?XTBH=" + DataBinder.Eval(e.Row.DataItem, "XTBH") + "','','width=700 ,height=700,left=50,top=50,scrollbars=1,status=0 resizable=1')")
}
或a href,GridView1_SelectedIndexChanged
------解决方案--------------------
探讨
我补充一下,我的意思是,当我选择某一行时,会获取这行的值并将他存储到一个cookies中,点击不同的行将会将不同的主键放到这个cookies中,这样在以后的表中就可以引用cookies中的值作为查询条件去查询其他的内容。而不是获取这行内容进行显示。麻烦各位帮帮忙,谢谢了