- PR -

コンボボックスによるGRIDの変更[WIN]

1
投稿者投稿内容
fruity
常連さん
会議室デビュー日: 2006/10/26
投稿数: 32
投稿日時: 2008-07-08 12:12
お世話になります。

WINアプリ、VS2003(VB)、WinXPを使用しています。
InputMan2.0 TruDBGrid1.3を使用しています。

テーブルよりデータセットでコンボボックスに格納して
SelectしたタイミングでGridを変更したいです。

テーブルはデータセットのスキーマのリンクで以下のようになっています。
親テーブル(コンボ)
子テーブル(GRID)
孫テーブル(GRID2)
親テーブルのキーを外部結合しています。

コンボ、Grid間の表示はできているのですが、
コンボを選択する際にうまくいかないので、
良い方法がないかと思っております。

Loadイベントで
********************

oraConnection.ConnectionString = clsCommon.cnsORACLE_CONNECTION_STRING

odsCompany.Clear()
odaChannel.Fill(odsCompany)・・・親
odaCompany.Fill(odsCompany)・・・子
odaCompanyAddress.Fill(odsCompany)・・・孫

********************
としています。

SelectIndexChangeイベントで
Grid側のコマンドテキストを変更したりしたのですが
どうもうまくいかず(以下です)、
********************

Try
If strLoad_FLG <> "0" Then

If Me.cmbChannel.SelectedItem.Value = 1 Then
  Me.odaCompany.SelectCommand.CommandText = SELECT文です
Else
Me.odaCompany.SelectCommand.CommandText = SELECT文です
End If

odaChannel.Fill(odsCompany)
odaCompany.Fill(odsCompany)
odaCompanyAddress.Fill(odsCompany)

Else
  strLoad_FLG = "1"
End If

Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

********************

ご教授をお願いいたします。






[ メッセージ編集済み 編集者: fruity 編集日時 2008-07-08 16:30 ]
fruity
常連さん
会議室デビュー日: 2006/10/26
投稿数: 32
投稿日時: 2008-07-08 16:11
補足です。
TrueDBGrid間ではレコードを選んだ際に
自動的にその外部結合されたデータが動的に変更できます。

コンボにおいてはそういう機能はないのでしょうか。

また、ない場合はSelectedIndexChangedイベントで行なうのが
妥当だと思っているのですが、
その他に良い方法等ありますでしょうか。
宜しくお願いいたします。
fruity
常連さん
会議室デビュー日: 2006/10/26
投稿数: 32
投稿日時: 2008-07-08 18:54
自己解決しました。
データセットの設定で

combo→親テーブル
Grid→子テーブル
Grid2→孫テーブル

だったのを

combo→親テーブル
Grid→親テーブル.子テーブル
Grid2→親テーブル.子テーブル.孫テーブル
としてみたらうまくいきました。
初歩的な設定でした。

1

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