2012-04-15 3 views
0

GridView를 사용하여 데이터 소스에서 데이터를 가져옵니다. GridView의 각 열의 끝에 즉, 바닥 글에 텍스트 상자를 추가하고 싶습니다. 어떻게하면됩니까?Gridview에 텍스트 상자 추가

+0

' ' – Pankaj

답변

0

FooterTemplate을 사용하십시오. 예 :

<asp:TemplateField> 
    <ItemTemplate> 
     ... 
    </ItemTemplate> 
    <FooterTemplate> 
     your textboxes go here 
    </FooterTemplate> 
</asp:TemplateField> 
<asp:TemplateField> 
    <ItemTemplate> 
     ... 
    </ItemTemplate> 
    <FooterTemplate> 
     your textboxes go here 
    </FooterTemplate> 
</asp:TemplateField> 
+0

I 넣어 때 입니다. .it 날 경고/오류 준다. 무엇을할까요? –

+0

경고/오류를 공유하면 도움이 될 수 있습니다. –

+0

BoundField와 TemplateField를 같은 열에서 사용할 수 없습니다. 템플릿 필드를 사용하고 ItemTemplate에서 <% # Eval ("DataField") %>와 같은 작업을 수행하여 해당 열로 데이터를 출력합니다. – Ricketts

0

BoundField와 TemplateField 클래스의 차이점을 이해해야합니다. 첫 번째는 필드를 텍스트로 표시하는 데 사용되는 반면 TemplateField에서는 정보를 표시하는 방식을 사용자 정의 할 수 있습니다. 따라서 BoundField 또는 TemplateField를 열에 포함시켜야합니다 (필자가 생각하는 것처럼 다른 것으로 중첩되지는 않음). 경우에 따라 바닥 글이 표시되는 방식을 사용자 정의하기 때문에 TemplateField 여야합니다. 의 GridView ID = "GridView1"

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:Label ID="lblNumber" runat="server" Text='<%# Bind("Number")%>' /> 
    </ItemTemplate> 
    <FooterTemplate> 
     <asp:TextBox ID="txb" runat="server"></asp:TextBox> 
    </FooterTemplate> 
</asp:TemplateField> 
0

OnRowDataBound 이벤트 <FooterTemplate>

<asp:TemplateField HeaderText="UnitsInStock"> 
     <ItemTemplate> 
      //your displaying control 
     </ItemTemplate>     
     <FooterTemplate> 
       <asp:TextBox id="tb1" Text="Text" runat="server" /> 
     </FooterTemplate> 
     </asp:TemplateField> 

찾기 바닥 글 컨트롤에 텍스트 상자를 추가합니다 :

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.Footer) 
    { 
     TextBox tb1 = (TextBox)e.Row.FindControl("tb1"); 
     //do your stuff 
    } 
}