Reliure Telerik RadGrid à une liste objet
Question
J'ai une utilisation simple pour RadGrid qui implique le liant à une liste de chaînes
i.e. using: list<string>
La liaison fonctionne bien et les affichages de données dans la grille. Cependant, l'en-tête dit « Item », et il y a d'autres aspects de la colonne que je voudrais être en mesure de personnaliser. J'ai essayé de définir la propriété « DataField » de la colonne sur la page ascx:
<telerik:GridTemplateColumn UniqueName="column"
DataField="" HeaderText="Omniture Codes">
cependant, il semble vouloir le nom d'un champ de données, comme dans ce que vous obtiendriez avec un objet DataTable, mais pas avec une liste.
Est-ce que quelqu'un connait un moyen de lier la colonne à la liste, ou une autre idée pour un travail autour?
La solution
Je pense que vous devriez utiliser un GridBoundColumn au lieu du GridTemplateColumn et désactiver AutoGenerateColumns.
par exemple. les travaux suivants pour moi:
ASPX:
<telerik:RadGrid ID="grid" runat="server" AutoGenerateColumns="false">
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="" HeaderText="MyHeaderText">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
code-behind:
protected void Page_Load(object sender, EventArgs e)
{
List<string> data = new List<string> {"a", "b", "c"};
grid.DataSource = data;
}
Autres conseils
Vous devez essayer quelque chose comme ça avec le 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>
vous pouvez également utiliser la propriété d'élément de modèle de RadGrid pour générer un desgin ..
comme
<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>