日期:2014-05-18  浏览次数:20405 次

在GridView中鼠标单击选择行
我想将我程序中GridView的修改和删除键单独放置在页面中,就是让GridView中没有修改和删除键,通过鼠标单击选择了行后,进行修改和删除。

我知道如何在GridView中添加行单击事件,但我不知道该如何将单击事件得到的行值传给服务器端,使得当点击删除按钮时删除的是选中的行。

麻烦高手帮忙解答下,谢谢!

------解决方案--------------------
#region实现选中行

<SelectedRowStyle BackColor= "AliceBlue " ForeColor= "Gray " />
<asp:CommandField ShowSelectButton= "True "/>
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add( "onclick ", "this.cells[0].childNodes[0].click() ");
}
protected void GridViewRegiment_SelectedIndexChanged(object sender, EventArgs e)
{
GridViewRow row = GridViewRegiment.SelectedRow;
int RegimentID = Convert.ToInt32(row.Cells[1].Text);
Response.Redirect( "UpdateRegimentation.aspx?RegimentID= " + RegimentID);
}
#endregion
将取出的ID存在一个变量里或隐藏域里,删除或更新时调用这个变量就ok了中,试一下吧

------解决方案--------------------
我知道如何在GridView中添加行单击事件,但我不知道该如何将单击事件得到的行值传给服务器端,使得当点击删除按钮时删除的是选中的行。

========

添加一模板列,设置 style=dispaly:none, 放入一个 chebkbox

单击 行的时候,选中/取消此 checkbox,

按钮事件中,遍历 GridView 行判断 chechkbox 是否被算中,进而执行响应操作