Binding Telerik RadGrid a un elenco oggetto
Domanda
Ho un semplice utilizzo per RadGrid che coinvolge legandolo ad una lista di stringhe
i.e. using: list<string>
Il legano funziona bene e le visualizza i dati nella griglia. Tuttavia, l'intestazione dice "Item", e ci sono altri aspetti della colonna Mi piacerebbe essere in grado di personalizzare. Ho cercato di impostare il "DataField" proprietà della colonna nella pagina ascx:
<telerik:GridTemplateColumn UniqueName="column"
DataField="" HeaderText="Omniture Codes">
tuttavia, sembra voler il nome di un campo di dati, come in quello che si otterrebbe con un oggetto DataTable, ma non con una lista.
Qualcuno sa un modo per associare la colonna alla lista, o hanno un'altra idea per un work-around?
Soluzione
Credo che si dovrebbe utilizzare un GridBoundColumn al posto del GridTemplateColumn e disabilitare AutoGenerateColumns.
es. le seguenti opere per me:
ASPX:
<telerik:RadGrid ID="grid" runat="server" AutoGenerateColumns="false">
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="" HeaderText="MyHeaderText">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
Codice-behind:
protected void Page_Load(object sender, EventArgs e)
{
List<string> data = new List<string> {"a", "b", "c"};
grid.DataSource = data;
}
Altri suggerimenti
Dovete provare qualcosa di simile con il RadGrid:
<Columns>
<telerik:GridBoundColumn DataField="AddrLine1" HeaderText="Address Line 1" SortExpression="AddrLine1" UniqueName="AddrLine1">
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False" Font-Underline="False" HorizontalAlign="Left" Wrap="True" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"Font-Underline="False" HorizontalAlign="Left" Wrap="True" />
</telerik:GridBoundColumn>
</Columns>
si può anche utilizzare la proprietà modello di elemento di RadGrid di generare qualsiasi desgin ..
come
<ItemTemplate>
<div style="width:277px; text-align:left;">
<span style=" font-size:11px;"> Tdata1:</span>
<%# Eval("data1")%>
<br />
<span> data2:</span>
<%# Eval("data2")%>
<br />
</div>
</ItemTemplate>
<Columns>
<telerik:GridBoundColumn DataField="data1" HeaderText="data1" SortExpression="data1" UniqueName="data1">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn DataField="data2" HeaderText="data2" SortExpression="data2" UniqueName="data2">
</telerik:GridBoundColumn>
</Columns>