- PR -

BindingContextについて教えてください

1
投稿者投稿内容
hwman
会議室デビュー日: 2006/09/24
投稿数: 11
投稿日時: 2006-10-01 19:36
早速ですが、質問です。

MDI子Formを作成し、そのFormにTextBoxを配置し
その子Formのコンストラクタ内で
this.BindingContext = new BindingContext();
と新たなるBindingContextオブジェクトを割り当て

下記コードでtextBox1のTextプロパティにテーブルtblHogeのカラムclFooをバインドしているつもりです。
textBox1.DataBindings.Add(new Binding("Text", tblHoge, "clFoo"));

が、
this.BindingContext[tblHoge.DataSet,tblHoge.TableName].Position += 1;
とテスト的なコードを実行してもtextBox1.Textは変化しません。

なぜ、バインドされないのでしょうか?
ご教授願います。

環境
Windows2000
Visual C# 2005 Express Edition
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2006-10-01 19:58
引用:

textBox1.DataBindings.Add(new Binding("Text", tblHoge, "clFoo"));


バインディングには DataSet が登場していないのに、
引用:

this.BindingContext[tblHoge.DataSet,tblHoge.TableName].Position += 1;


BindingContext には DataSet が出てきているのが原因ですね。
hwman
会議室デビュー日: 2006/09/24
投稿数: 11
投稿日時: 2006-10-01 20:08
レスありがとうございます。

解決できました。
もうひとつ教えてください。
MDI子Form内でと新たなるBindingContextオブジェクトを割り当てているのですが
これを止める。つまり
this.BindingContext = new BindingContext();
をコメントアウトすると、textBox1はMDI親FormのBindingContextのPositionを
参照しているようですが、この動作はどう理解すればいいのでしょうか?
1

スキルアップ/キャリアアップ(JOB@IT)