2016-10-07 7 views
0

GridView 외부의 텍스트 상자에서 레코드를 편집 할 수 있도록 동적으로 생성 된 asp.net GridView의 행 인덱스를 얻는 방법. GridView 외부의 텍스트 상자에서 레코드를 편집 할 수 있도록 동적으로 생성 된 asp.net GridView의 행 인덱스를 가져 오는 방법. 동적으로 생성 된 asp.net GridView의 행 인덱스를 얻는 방법은 무엇입니까?

GridView입니다 :

<asp:GridView ID="GridView1" AutoGenerateColumns="False" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None"> 
    <AlternatingRowStyle BackColor="White" /> 
    <Columns> 
    <asp:TemplateField HeaderText="RefID"> 
     <ItemTemplate> 
     <asp:Label ID="lbl_Refid" runat="server" Text='<%# Eval("Refid") %>'></asp:Label> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Date"> 
     <ItemTemplate> 
     <asp:Label ID="lbl_date" runat="server" Text='<%# Eval("Date") %>'></asp:Label> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Name Of Company"> 
     <ItemTemplate> 
     <asp:Label ID="lbl_noc" runat="server" Text='<%# Eval("Name_Of_Company") %>'></asp:Label> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Contact/Email"> 
     <ItemTemplate> 
     <asp:Label ID="lbl_wht_do" runat="server" Text='<%# Eval("Contact") %>'></asp:Label> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Remarks"> 
     <ItemTemplate> 
     <asp:Label ID="lbl_wht_do" runat="server" Text='<%# Eval("Remarks") %>'></asp:Label> 
     </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="Edit"> 
     <ItemTemplate> 
     <asp:Button ID="btn_edit" runat="server" `enter code here` Text="Button" /> 
     </ItemTemplate> 
    </asp:TemplateField> 
    </Columns> 
    <EditRowStyle BackColor="#2461BF" /> 
    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" /> 
    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" /> 
    <RowStyle BackColor="#EFF3FB" /> 
    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" /> 
    <SortedAscendingCellStyle BackColor="#F5F7FB" /> 
    <SortedAscendingHeaderStyle BackColor="#6D95E1" /> 
    <SortedDescendingCellStyle BackColor="#E9EBEF" /> 
    <SortedDescendingHeaderStyle BackColor="#4870BE" /> 
</asp:GridView> 
+0

당신은 어떤 색인을 의미합니까? 'ID'? – rbr94

+0

나는 편집 버튼을 클릭 할 때 그리드 바깥의 텍사스 박스에 detilas를 표시해야한다. – Abdu

답변

0
<asp:GridView ID="GridView1" AutoGenerateColumns="False" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowCommand = "OnRowCommand"> 

사용

OnRowCommand = "OnRowCommand"

조치가 OnRowCommand 이벤트가 실행되는 그리드에 일어날 때 지금.

protected void OnRowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    int index = Convert.ToInt32(e.CommandArgument); 
    GridViewRow gvRow = GridView1.Rows[index]; 
} 

More Info

+0

작동하지 않습니다 – Abdu

+0

어떻게 동적 그리드 뷰 표시 ur 코드를 생성하고 있습니까? –

0
<ItemTemplate> 
    <asp:Button ID="Button1" runat="server" Text="Button" 
      OnClick="MyButtonClick" /> 
</ItemTemplate> 

과 방법

protected void MyButtonClick(object sender, System.EventArgs e) 
{ 
    //Get the button that raised the event 
    Button btn = (Button)sender; 

    //Get the row that contains this button 
    GridViewRow gvr = (GridViewRow)btn.NamingContainer; 

}

관련 문제