我知道我需要使用模板列,但我不清楚如何使用它。如何合併列使用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