我在NeedDataSource事件中定义了Telerik RadGridView控件的数据源。有问题的数据源是IEnumerable对象集合。
比方说,例如,RadGridView中的列顺序是Title | Description | Date
。如果我的收藏中有以下物品......
class Obj{
public DateTime Date {get;set;}
public string Title {get;set;}
public string Description {get;set;}
}
如何使用RadGridView1.DataSource();
确保以正确的顺序将对象属性值分配给RadGridView列?
答案 0 :(得分:1)
我不确定我完全理解你的问题。你在使用Auto generate columns at runtime
吗?如果不是:列顺序由声明性地定义,如下所示:
<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="false" OnNeedDataSource="RadGrid1_NeedDataSource">
<MasterTableView DataKeyNames="ObjId">
<Columns>
<telerik:GridBoundColumn UniqueName="Date" HeaderText="Date" DataField="Date" DataFormatString="{0:M/dd/yyyy}">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Title" HeaderText="Title" DataField="Title">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Description" HeaderText="Description" DataField="Description">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid1>
请注意,DataField
告诉RadGrid要使用哪个对象属性。如果我完全错过了你的问题,请告诉我。
答案 1 :(得分:0)
如果您要自动生成列并希望以编程方式对它们重新排序,则可以使用所讨论的SwapColumns方法here。列应按字母顺序自动添加,因此只需调用以下内容即可。
grid.MasterTableView.SwapColumns("Date","Title");
我可以将它放在DataBound事件处理程序中。