2010-09-21 6 views

Répondre

0

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

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

C'est à peu près exactement ce que @Brian a dit de faire ... – Josh

1

Vous pouvez via la propriété Parent, bien que vous deviez faire quelque chose comme chk.Parent.Parent et ainsi de suite. Je ne sais pas combien de références parentales dans la rangée actuelle est ...

HTH.

0

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> 

dans .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++; 
      } 
     } 
Questions connexes