我知道我需要使用模板列,但我不清楚如何使用它。如何合并列使用Telerik RadGrid控件
我有一个返回集合的数据源,我可以将集合中的每个属性分配给一个列。
但我怎么:
- 合并两列?如
col.prop1 +' '+ col.prop2
? - 执行一些方法,而对性能如
col.prop1.ToString(overloaded)
一个简单的代码隐藏示例将帮助。我所能找到的都是非常复杂的控件和例子..
谢谢。
我知道我需要使用模板列,但我不清楚如何使用它。如何合并列使用Telerik RadGrid控件
我有一个返回集合的数据源,我可以将集合中的每个属性分配给一个列。
但我怎么:
col.prop1 +' '+ col.prop2
?col.prop1.ToString(overloaded)
一个简单的代码隐藏示例将帮助。我所能找到的都是非常复杂的控件和例子..
谢谢。
您还可以使用计算列
<telerik:GridCalculatedColumn HeaderText="Test" UniqueName="Test" DataType="System.String"
DataFields="Field1, Field2" Expression='{0} + " - " + {1}'></telerik:GridCalculatedColumn>
http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/calculatedcolumns/defaultcs.aspx
我想到的唯一方法是使用绑定表达式的属性和代码隐藏方法,通过这些绑定表达式从属性方法返回结果。
假设你可以修改的集合中使用的类,我会做一个“显示”属性。
public string Prop1 { get; set; }
public string Prop2 { get; set; }
public string PropertiesFormatted
{
get
{
return this.Prop1 + " - " + this.Prop2;
}
}
然后,您可以将其分配到绑定列。我发现这样更好,因为您不必担心软件不同区域的格式不同。基本上,它允许重用。
另一种方法是确实创建一个模板列并使用绑定表达式。你可以找到有关数据绑定无论是在MSDN或Telerik的帮助表达,但你会想要做这样的事情:
<telerik:GridTemplateColumn UniqueName="TemplateColumn">
<ItemTemplate>
<span><%# DataBinder.Eval(Container.DataItem, "Prop1") %> - <%# DataBinder.Eval(Container.DataItem, "Prop2") %></span>
</ItemTemplate>
</telerik:GridTemplateColumn>
编辑 这里是一个网址,让你看一些网格模板的东西:http://www.telerik.com/help/aspnet-ajax/grdcustomizewithgridtemplatecolumn.html