日期:2014-05-16  浏览次数:20407 次

gridview获取行号求助
我再gridview里添加了一个hyperlink列,我想在点击是获取点击的行的主键,或者读取点击行的行号也行,请大家帮忙

------解决方案--------------------
1、GV数据绑定时添加行绑定事件,给每一行的超链增加一个单击事件,把行号作为参数写进去

2、JQ
function getindex(){
var tr = $(this).parent().parent();//获取当前行
var index = $("#gridview tr").index(tr);//获取行索引
}
------解决方案--------------------
((HyperLink)(e.Row .Cells [10].Controls [0])).Attributes.Add("onclick","return func("+ e.Row.RowIndex.ToString() +")");

e.Row.RowIndex 获取行索引的属性

这个JS函数func 的参数就是行号
------解决方案--------------------
定义一个全局变量i=0

C# code
((HyperLink)(e.Row .Cells [10].Controls [0])).Attributes.Add("onclick","return func("+i+")");///
i++;///////

------解决方案--------------------
这是后台事件 不应该在这个板块的
不要用超链列 增加一个模板列
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">LinkButton</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
后台代码
protected void LinkButton1_Click(object sender, EventArgs e)
{
LinkButton lb = sender as LinkButton;
GridViewRow gvr = lb.Parent.Parent;//GV的行对象
string name = gvr.Cells[1].Text;//根据索引号获取对应的列
}
------解决方案--------------------
GridViewRow gvr = lb.Parent.Parent as GridViewRow;//GV的行对象

我写错了 抱歉