哪个行索引在DataGrid中具有模板复选框?
-
04-10-2019 - |
题
我有一个datagrid,并且有一个复选框,每行中都是模板。假设我正在检查其中一个复选框的事件。有什么办法可以告诉复选框的数据杂志的哪一行?
解决方案 3
好的,我找到了一个整洁的解决方案:)在签到的事件中,我刚刚写了以下内容:
((GridViewRow)((Control)sender).Parent.Parent).DataItemIndex;
其他提示
您可以通过父属性,尽管您必须执行诸如chk.parent.parent之类的事情。我不知道当前行是多少个父母参考...
Hth。
尝试这样的事情:
<script language="javascript" type="text/javascript">
function rowno(rowindex) {
var gridViewCtlId = document.getElementById("<%=GridView2.ClientID %>").rows[rowindex].cells[1].innerText;
alert('you clicked on ' + gridViewCtlId);
}
</script>
<asp:GridView ID="GridView2" runat="server" OnRowDataBound="GridView1_RowDataBound1" PageSize="5">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<%--<asp:Button ID="Button1" runat="server" Text="Button" />--%>
<asp:CheckBox ID="CheckBox1" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
在.cs
protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
CheckBox delete = (CheckBox)e.Row.Cells[0].Controls[1];
delete.Attributes.Add("onclick", "javascript:rowno(" + count + ")");
count++;
}
}
不隶属于 StackOverflow