Encadernação Telerik RadGrid a uma lista objeto
Pergunta
Eu tenho um uso simples para RadGrid que envolve a ligação a uma lista de strings
i.e. using: list<string>
A ligação funciona OK e os dados são exibidos na grade. No entanto, o cabeçalho diz "Item", e há outros aspectos da coluna eu gostaria de ser capaz de personalizar. Tentei definir a propriedade "DataField" da coluna na página ascx:
<telerik:GridTemplateColumn UniqueName="column"
DataField="" HeaderText="Omniture Codes">
No entanto, ele parece querer o nome de um campo de dados, como em que você iria ficar com um objeto tabela de dados, mas não com uma lista.
Alguém sabe uma maneira de vincular a coluna da lista, ou tem outra idéia para um trabalho em torno?
Solução
Eu acho que você deve usar um GridBoundColumn vez do GridTemplateColumn e desativar AutoGenerateColumns.
por exemplo. os seguintes trabalhos para mim:
ASPX:
<telerik:RadGrid ID="grid" runat="server" AutoGenerateColumns="false">
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="" HeaderText="MyHeaderText">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
Código-behind:
protected void Page_Load(object sender, EventArgs e)
{
List<string> data = new List<string> {"a", "b", "c"};
grid.DataSource = data;
}
Outras dicas
Você tem que tentar algo como isto com o 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>
Você também pode usar a propriedade modelo de item de RadGrid para gerar qualquer desgin ..
como
<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>