我对RadGrid有一个简单的用法,它涉及将它绑定到字符串列表
i.e. using: list<string>
绑定工作正常,数据显示在网格中。但是,标题显示“Item”,并且我希望能够自定义该列的其他方面。我试图在ascx页面上设置列的“DataField”属性:
<telerik:GridTemplateColumn UniqueName="column"
DataField="" HeaderText="Omniture Codes">
然而,它似乎想要一个数据字段的名称,就像你在数据表对象中得到的那样,但不是列表。
有没有人知道将列绑定到列表的方法,或者有另一种解决方法?
答案 0 :(得分:12)
我认为您应该使用GridBoundColumn而不是GridTemplateColumn并禁用AutoGenerateColumns。
E.g。以下对我有用:
ASPX:
<telerik:RadGrid ID="grid" runat="server" AutoGenerateColumns="false">
<MasterTableView>
<Columns>
<telerik:GridBoundColumn DataField="" HeaderText="MyHeaderText">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
List<string> data = new List<string> {"a", "b", "c"};
grid.DataSource = data;
}
答案 1 :(得分:1)
你必须尝试使用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>
答案 2 :(得分:0)
你也可以使用radgrid的Item Template属性来生成任何设计..
像
<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>