Was Zeilenindex hat eine Vorlage Checkbox in einem Datagrid?
-
04-10-2019 - |
Frage
habe ich ein Datagrid, und es gibt eine Checkbox, die Vorlage in jeder Zeile ist. Angenommen, ich bin in CheckedChanged Fall eines des Kontrollkästchen. Gibt es eine Möglichkeit, in welcher Zeile des Datagrid kann sagen, dass das Kontrollkästchen ist in?
Lösung 3
gefunden Ok ich eine saubere Lösung :) Im CheckedChanged Ereignis Ich schrieb folgendes:
((GridViewRow)((Control)sender).Parent.Parent).DataItemIndex;
Andere Tipps
Sie können die Parent-Eigenschaft durch, wenn Sie so etwas wie chk.Parent.Parent zu tun haben, und so weiter. Ich weiß nicht, wie viele Eltern Verweise auf die aktuelle Zeile ... ist
HTH.
Versuchen Sie etwas wie folgt aus:
<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>
in 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++;
}
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow