2010-10-25 8 views
5

Ich weiß, dass ich Template-Spalten verwenden muss, aber ich verstehe nicht klar, wie Sie es verwenden.Wie Spalten mit Telerik RadGrid-Steuerelement zusammengeführt werden

Ich habe eine Datenquelle, die eine Auflistung zurückgibt, ich kann jede Eigenschaft in der Auflistung einer Spalte zuweisen.

Aber wie ich:

  • Merge zwei Spalten? wie col.prop1 +' '+ col.prop2?
  • Führen Sie einige Methoden auf den Eigenschaften wie col.prop1.ToString(overloaded)

Ein einfaches Code-Behind Beispiel helfen. Alles, was ich finden kann, sind sehr komplexe Kontrollen und Sachen für Beispiele.

Vielen Dank.

Antwort

0

Die einzige Möglichkeit, die mir in den Sinn kommt, ist die Verwendung von Bindungsausdrücken für die Eigenschaften und CodeBehind-Methoden, die die Ergebnisse der Eigenschaftsmethoden über diese Bindungsausdrücke zurückgeben.

1

Vorausgesetzt, dass Sie die Klasse ändern können, die in der Sammlung verwendet wird, würde ich eine Eigenschaft „Anzeige“ machen.

public string Prop1 { get; set; } 
public string Prop2 { get; set; } 

public string PropertiesFormatted 
{ 
    get 
    { 
    return this.Prop1 + " - " + this.Prop2; 
    } 
} 

Sie können das dann einer gebundenen Spalte zuweisen. Ich finde, dass dies besser ist, da Sie sich keine Sorgen darüber machen müssen, dass die Formatierung in verschiedenen Bereichen der Software anders ist. Grundsätzlich erlaubt es die Wiederverwendung.

Die andere Möglichkeit wäre, tatsächlich eine Template-Spalte zu erstellen und Binding-Ausdrücke zu verwenden. Sie können über Daten herauszufinden Ausdrücke Bindung entweder auf MSDN oder in Telerik Hilfe, aber Sie gehen zu wollen, so etwas zu tun:

<telerik:GridTemplateColumn UniqueName="TemplateColumn"> 
    <ItemTemplate> 
    <span><%# DataBinder.Eval(Container.DataItem, "Prop1") %> - <%# DataBinder.Eval(Container.DataItem, "Prop2") %></span> 
    </ItemTemplate> 
</telerik:GridTemplateColumn> 

EDIT Hier ist eine URL, die Sie auf einige aussehen können Grid Vorlage Zeug: http://www.telerik.com/help/aspnet-ajax/grdcustomizewithgridtemplatecolumn.html