Question

I ont une grille de données et il y a une case à cocher qui est modèle dans chaque rangée. Supposons que je suis en cas CheckedChanged de l'une des cases à cocher. Est-il possible que je peux dire dans quelle rangée de la grille de données que la case à cocher est?

Était-ce utile?

La solution 3

Ok je l'ai trouvé une solution propre :) En cas CheckedChanged je viens d'écrire ce qui suit:

((GridViewRow)((Control)sender).Parent.Parent).DataItemIndex;

Autres conseils

Vous pouvez par la propriété Parent, si vous devez faire quelque chose comme chk.Parent.Parent et ainsi de suite. Je ne sais pas combien de références parents la ligne actuelle est ...

HTH.

essayer quelque chose comme ceci:

<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++;
            }
        }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top