2011-08-05 3 views

答えて

14

あなたは私たちのキー/値を格納し、そのようRadioButtonListのにバインドするために、Dictionaryオブジェクトことができます:

 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(); 

またはあなたはまた、そのようRadioButtonListの項目のコレクションに項目を追加することができます。

 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

データソース(または他のバインド可能なソース)にDataTableを使用し、DataTableをRadioButtonリストにバインドできます。 DataTextFieldおよびDataValueFieldプロパティを使用して、テキストに使用される列と値に使用される列を指定します。

1

あなたが本当にデータソースのような種類が必要な場合は、次の試してみる、自動的に他の標準コントロールと一緒にVisualStudioをツールボックスに表示される独自のデータソースを作成することができます。

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> 
関連する問題