سؤال

لدي DataGrid وهناك مربع اختيار وهو قالب في كل صف. لنفترض أنني في حدث checkedChanged لأحد مربعات الاختيار. هل هناك أي طريقة يمكنني من خلالها معرفة صف 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++;
            }
        }
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top