DOBON.NET DOBON.NETプログラミング掲示板過去ログ

リレーションのコンボボックス

環境/言語:[環境:XP 使用言語:c# Frameworkのver:2.0]
分類:[.NET]

お世話になります。

分類(大、中)のコンボボックスが2つあるのですが、大分類と中分類は
リレーションを張ってあります。大分類コンボを選択しますと当然、
中分類コンボの中身も変化します。

ですが、大分類コンボのインデックスを変更した時に中分類コンボの
中身を表示したくないのですが・・・(インデックス=-1とか)

そこで大分類のインデックスチェンジイベントでインデックス=-1等とやって
いるのですが、うまくいきません。
ステップ実行でおってみるとどうも、チェンジイベントの後にリレーションに
よる動作が動いているようなのですが。

なにかアドバイスを頂ければと思います。
よろしくお願い致します。
お世話になります。

■No16061に返信(あいすさんの記事)
> 分類(大、中)のコンボボックスが2つあるのですが、大分類と中分類は
> リレーションを張ってあります。大分類コンボを選択しますと当然、

こういった方法でやられているのでしょうか?
http://msdn2.microsoft.com/ja-JP/library/tk577dc0.aspx
お世話になります。

> こういった方法でやられているのでしょうか?
> http://msdn2.microsoft.com/ja-JP/library/tk577dc0.aspx

方法は、DataRelationを使用しています。
http://msdn2.microsoft.com/ja-jp/library/ay82azad(VS.80).aspx

実コードは

dsItemClass.Relations.Add(
new DataRelation(
"mediumrelation",
dsItemClass.Tables["large"].Columns["large_class_cd"],
dsItemClass.Tables["medium"].Columns["large_class_cd"]
)
);

です。なにかアドバイスがありましたらよろしくお願い致します。
お世話になります。

■No16072に返信(あいすさんの記事)
> 方法は、DataRelationを使用しています。
> http://msdn2.microsoft.com/ja-jp/library/ay82azad(VS.80).aspx

> 大分類コンボのインデックスを変更した時に中分類コンボの
> 中身を表示したくないのですが・・・(インデックス=-1とか)
うーん。Relation をやめる方法しか私には思い浮かびません。
親の ComboBox の SelectedIndexChange イベントで、
子供の ComboBox の DataSource を動的に DataView 等を使ってやるとか。
お世話になります。

■No16092に返信(なおこ(・∀・)さんの記事)
> うーん。Relation をやめる方法しか私には思い浮かびません。
> 親の ComboBox の SelectedIndexChange イベントで、
> 子供の ComboBox の DataSource を動的に DataView 等を使ってやるとか。

Relationは簡単なだけに、応用がきかないみたいですね。
なおこ(・∀・)さんの案を採用させて頂きましたところ、
実現出来ました。ありがとう御座いました。

代替案での実現となりましたが、この質問は解決済みとさせていただきます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板