如何使用Telerik RadGrid控件合并列

时间:2010-10-25 16:04:17

标签: telerik radgrid telerik-grid

我知道我需要使用模板列,但我不清楚如何使用它。

我有一个返回集合的数据源,我可以将集合中的每个属性分配给一个列。

但我该怎么做:

  • 合并两列?例如col.prop1 +' '+ col.prop2
  • col.prop1.ToString(overloaded)
  • 等属性执行某些方法

一个简单的代码隐藏示例将有所帮助。我所能找到的只是非常复杂的控件和例子......

谢谢。

3 个答案:

答案 0 :(得分:3)

您还可以使用计算列

<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

答案 1 :(得分:1)

假设你可以修改集合中使用的类,我会创建一个“display”属性。

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>

EDIT 这是一个URL,允许您查看一些网格模板内容:http://www.telerik.com/help/aspnet-ajax/grdcustomizewithgridtemplatecolumn.html

答案 2 :(得分:0)

我想到的唯一方法是对属性和代码隐藏方法使用绑定表达式,这些方法通过这些绑定表达式返回属性方法的结果。