2012-02-27 8 views
2

カスタムユーザーコントロールを作成する必要があり、デザイン時に3つのdatasource、displaymemberおよびvalueメンバーを取得する必要があります。3つのデータソース、displaymember、およびvaluememberを持つユーザーコントロールを作成する

私は以下のコードを使用してデータソースを取得することができます:

private BindingSource dataSource; 

[TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design")] 
[Category("Data")] 
[RefreshProperties(RefreshProperties.Repaint)] 
[AttributeProvider(typeof(IListSource))] 
[DefaultValue(null)] 
public BindingSource DataSource 
{ 
    get 
    { 
     return this.dataSource; 
    } 
    set 
    { 
     if (this.dataSource != value) 
     { 
      this.dataSource = value; 
     } 
    } 
} 

は、私は、これはあなたが求めているものを行う方法についてのチュートリアルです私がValueMemberで、関連するデータソース

答えて

1

のdisplaymemberを取得する必要があります方法がわかりません:私はここに、コードをカスタムコントロールの代わりに検索データバインディングをサポートしてい性質を持っている

http://msdn.microsoft.com/en-us/library/ms233787.aspx

+0

私は前にそれを見たが、有用ではないです。 – khoshahmad

+0

何が欠けていますか? –

+0

私はそれが私のために有用ではなかった前にそれを見直しました。私はdisplaymemebrと入力する必要があり、関連するdisplaymemberの各データソースの列のリストを参照する必要があります。 – khoshahmad

0
private System.Windows.Forms.ListBox dropdownsource = new ListBox(); 

    [Category("Data")] 
    [Browsable(true)] 
    [DefaultValue(null)] 
    [System.ComponentModel.Bindable(true)] 
    [TypeConverter("System.Windows.Forms.Design.DataSourceConverter, System.Design")] 
    [Editor("System.Windows.Forms.Design.DataSourceListEditor, System.Design", typeof(System.Drawing.Design.UITypeEditor))] 
    public object DataSource 
    { 
     get 
     { 
      return this.dropdownsource.DataSource; 
     } 
     set 
     { 
      if (this.dropdownsource.DataSource != value) 
       this.dropdownsource.DataSource = value; 
     } 
    } 

関連する問題