2011-08-05 18 views

Odpowiedz

14

można nas obiektu Dictionary do przechowywania kluczy/wartości i wiążą go do RadioButtonList tak:

 Dictionary<string, string> values = new Dictionary<string, string>(); 
     values.Add("key 1", "value 1"); 
     values.Add("key 2", "value 2"); 
     values.Add("key 3", "value 3"); 

     RadioButtonList radioButtonList = new RadioButtonList(); 
     radioButtonList.DataTextField = "Value"; 
     radioButtonList.DataValueField = "Key"; 
     radioButtonList.DataSource = values; 
     radioButtonList.DataBind(); 

Albo można również dodawać elementy do kolekcji Items RadioButtonList tak:

 radioButtonList.Items.Add(new ListItem("Text 1", "Value 1")); 
     radioButtonList.Items.Add(new ListItem("Text 2", "Value 2")); 
     radioButtonList.Items.Add(new ListItem("Text 3", "Value 3")); 
1

Można użyć DataTable dla źródła danych (lub innego źródła wiążącego) i powiązać DataTable z listą RadioButton. Użyj właściwości DataTextField i DataValueField, aby określić, która kolumna jest używana dla tekstu i która jest używana dla wartości.

1

Można tworzyć własne źródło danych, które będą automatycznie wyświetlane w przyborniku VisualStudio wraz z innymi standardowymi kontroli, jeśli naprawdę potrzebujesz tego rodzaju źródła danych wypróbować następujące:

public class CustomDataSource : System.Web.UI.WebControls.ObjectDataSource 
{ 
    public CustomDataSource()    
    { 
     // Hook up the ObjectCreating event so we can use our custom object 
     ObjectCreating += delegate(object sender, ObjectDataSourceEventArgs e) 
          { 
          // Here we create our custom object that the ObjectDataSource will use 
          e.ObjectInstance = new DataAccessor() 
          }; 
     } 


class DataAccessor 
{ 
    [DataObjectMethod(DataObjectMethodType.Insert, true)] 
    public void Add(string text, string value) 
    { 
     // Insert logic 
    } 

    [DataObjectMethod(DataObjectMethodType.Update, true)] 
    public void Update(int id, string text, string value) 
    { 
     // Update logic 
    } 

    [DataObjectMethod(DataObjectMethodType.Select, true)] 
    public IEnumerable<MyRadioButtonEntryWrapper> List(int filterById) 
    { 
     // Select logic 
    } 

}

ASPX :

<%@ Register TagPrefix="cc1" Namespace="DataLayer.DataSources" %> 
<cc1:CustomDataSource ID="customDataSource" runat="server" 
       TypeName="DataAccessor" 
       OldValuesParameterFormatString="original_{0}" 
       InsertMethod="Add"         
       UpdateMethod="Update"> 
       <UpdateParameters> 
        <asp:Parameter Name="id" Type="Int32" /> 
        <asp:Parameter Name="text" Type="String" /> 
        <asp:Parameter Name="value" Type="String" /> 
       </UpdateParameters> 
       <InsertParameters> 
        <asp:Parameter Name="text" Type="String" /> 
        <asp:Parameter Name="value" Type="String" /> 
       </InsertParameters> 
      </cc1:ArticleTypeDataSource> 
Powiązane problemy