2011-01-13 8 views
2

Ist es möglich, eine Seiteneigenschaft als Datasource/DataSourceID für eine ListBox oder andere Steuerelemente wie eine Telerik RadCombobox zu verwenden?ASP.NET ObjectDatasource Code-Behind-Eigenschaft verwenden

Ich habe ein Problem Daten an einen Telerik RadCombobox in einem FilterTemplate eines RadGrid definiert zu binden. Ich habe eine Eigenschaft im Code-Behind meiner Seite erstellt und möchte auf diese Weise darauf zugreifen.

<telerik:GridBoundColumn [...]> 
    <FilterTemplate> 
     <telerik:RadComboBox 
      ID="filter" 
      AutoPostBack="false" 
      AppendDataBoundItems="true" 
      DataSourceID="<%# PropertyInTheCodeBehind %>" 
      runat="server" />   

     [...] 
    </FilterTemplate> 

Oder gibt es eine andere Möglichkeit, dies zu erreichen? Ich möchte nur auf Daten im Code-Behind zugreifen.

Antwort

1

Stattdessen definieren Sie eine Methode oder ein Array und übergeben Sie es an die DataSource-Eigenschaft des Kombinationsfelds. Hier sind ein paar Beispiele:

<telerik:GridBoundColumn [...]> 
    <FilterTemplate> 
     <telerik:RadComboBox 
      ID="filter" 
      AutoPostBack="false" 
      AppendDataBoundItems="true" 
      DataSource="<%# (new string[] { "Item1", "Item2", "Item3", "Item4" }) %>" 
      runat="server" />   

     [...] 
    </FilterTemplate> 

<telerik:GridBoundColumn [...]> 
    <FilterTemplate> 
     <telerik:RadComboBox 
      ID="filter" 
      AutoPostBack="false" 
      AppendDataBoundItems="true" 
      DataSource="<%# GenerateComboSource() %>" 
      runat="server" />   

     [...] 
    </FilterTemplate> 

public string[] GenerateComboSource() 
{ 
    return (new string[] { "Item1", "Item2", "Item3", "Item4" }); 
} 
Verwandte Themen