最終的にこの質問をすることを決定する前に、私はいくつかの広範な検索を行いました。シンプル、コンプレックス、およびルックアップ データ バインディングを使用するユーザー コントロールの作成に関する MSDN チュートリアルに従いました。
- チュートリアル: 単純なデータ バインディングをサポートするユーザー コントロールの作成
- チュートリアル: 複雑なデータ バインディングをサポートするユーザー コントロールの作成
- チュートリアル: ルックアップ データ バインディングをサポートするユーザー コントロールの作成
そして、それらはうまく機能します...単一のコンボボックスまたはグリッドビューのみを使用するユーザーコントロールに対して。
ここで、3 つの異なるコンボボックスを持つユーザー コントロールを作成したいと考えています。それぞれを別のテーブルにバインドしたい。テーブルは「名前」、「タイプ」、および「製品」です。
MSDN のチュートリアルでは、単一のコンボボックスの DataBindingProperties の作成が含まれていますが、複数を含むユーザー コントロールに対して同じことを行う方法は示されていません。
using System.Windows.Forms;
namespace CS
{
[System.ComponentModel.LookupBindingProperties(
"DataSource", "DisplayMember", "ValueMember", "LookupMember")]
public partial class LookupBox : UserControl
{
public object DataSource
{
get{ return comboBox1.DataSource; }
set{ comboBox1.DataSource = value; }
}
public string DisplayMember
{
get{ return comboBox1.DisplayMember; }
set{ comboBox1.DisplayMember = value; }
}
public string ValueMember
{
get{ return comboBox1.ValueMember; }
set{ comboBox1.ValueMember = value; }
}
public string LookupMember
{
get{ return comboBox1.SelectedValue.ToString(); }
set{ comboBox1.SelectedValue = value; }
}
public LookupBox()
{
InitializeComponent();
}
}
}
ご覧のとおり、コードで言及されている Combobox は 1 つだけです。上記のように、それぞれが異なるテーブルにバインドされた 3 つのコンボボックスが必要です。
お願いです、壁に頭をぶつけています。私はユーザー コントロールにあまり精通していません (ASP.NET で使用したことはありますが) が、これら 3 つのコンボボックスをさまざまな場所で一緒に使用することになるため、1 つを作成することをお勧めします。私のアプリケーション。