2014-04-22 17 views
5

Ich legte Daten in eine Datentabelle, z.Asp Gridview verwenden Boundfields? oder Vorlagenfelder?

dt.TableName = "SA1"; 
da.Fill(dt); 

GridView1.DataSource = dt; 
GridView1.DataBind(); 

Jetzt bin ich nicht sicher, ob ich (für alle Spalten) verwenden Boundfield sollte

<asp:BoundField DataField="Unit" HeaderText="Unit" SortExpression="Unit" /> 

oder

<asp:TemplateField> 
    <HeaderTemplate> 
     Units 
    </HeaderTemplate> 
    <ItemTemplate> 
     <asp:TextBox runat="server" ID="txbUnits" Text='<%# Eval("Unit")%>'></asp:TextBox> 
    </ItemTemplate> 
</asp:TemplateField> 

verwenden und die Daten hinzufügen, wie ich entlang gehen, die gridview des Zweck ist nur Daten anzuzeigen

Antwort

12

Wenn Sie Zeilen ohne etwas Besonderes oder ein bestimmtes Design anzeigen möchten, verwenden Sie BoundField. Wenn Sie jedoch die Anzeige des Datensatzes anders als beim Standardentwurf gestalten möchten, müssen Sie unter Verwendung des TemplateField eine eigene Zeilenvorlage erstellen.

Schauen Sie sich diese Links - sie erklären kurz die Unterschiede, aber es ist im Grunde Standard VS angepasste Präsentation. http://forums.asp.net/t/1369418.aspx?boundfield+vs+template+field+in+gridview http://www.c-sharpcorner.com/Interviews/answer/1751/difference-between-boundfield-and-templatefield

+0

Ich möchte Boundfield aus irgendeinem Grund verwenden, aber kann ich in der Lage sein, die Dinge zu bearbeiten, wenn ich mit Boundfield benötigt? – BNN

+0

Ja, Sie können. Hier finden Sie ein Beispiel http://stackoverflow.com/questions/12221055/how-to-update-a-gridview-when-boundfield-is-used – Mez

+0

Danke Mez ..! :) – BNN

4

Wenn Sie nur die Daten anzeigen möchten, sollten Sie gebundenes Feld Attribut verwenden.

1
  • Die Boundfield zeigt den Wert der angegebenen Datasource-Feld als Text.
  • Das TemplateField ermöglicht eine Mischung aus HTML-Markup, Websteuerelementen, und Datenbindungssyntax.

    Ihr Zweck ist es nur data.So angezeigt Ich glaube, Sie brauchen Boundfield Hier