2012-04-15 19 views

Antwort

0

Verwenden Sie FooterTemplate. Beispiel:

<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

Als ich setzen in ItemTemplate. .es gibt mir eine Warnung/einen Fehler. Was tun? –

+0

Es könnte hilfreich sein, wenn Sie die Warnung/den Fehler geteilt haben. –

+0

Sie können BoundField und TemplateField nicht in derselben Spalte verwenden. Sie müssen das Template-Feld verwenden und in ItemTemplate etwas wie <% # Eval ("DataField")%> eingeben, um die Daten in diese Spalte auszugeben. – Ricketts

0

Sie sollten die Unterschiede zwischen der BoundField- und der TemplateField-Klasse verstehen. Der erste wird verwendet, um Felder als Text anzuzeigen, während Sie im TemplateField die Art und Weise anpassen können, wie Sie die Informationen anzeigen. Also sollten Sie BoundField oder TemplateField in einer Spalte verwenden (nicht verschachtelt in einem anderen, wie ich denke, Sie versuchen), in Ihrem Fall muss es das TemplateField sein, weil Sie die Art anpassen möchten, wie Ihre Fußzeile angezeigt wird. So sollte es so etwas wie dieses:

<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

TextBox hinzufügen in <FooterTemplate>

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

finden Fußzeile Kontrolle in OnRowDataBound Event:

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