DOBON.NETプログラミング道掲示板
(現在 過去ログ1 を表示中)

[ 最新記事及び返信フォームをトピックトップへ ]

■33064 / inTopicNo.1)  DataViewを複数作成
  
□投稿者/ TI 一般人(8回)-(2015/08/01(Sat) 15:35:14)
  • アイコン環境/言語:[VB2010] 
    分類:[.NET] 

    こんにちは。

    VB2010を使用しています。

    おなじDataTableをもとにして、複数のDataViewを作成しようとしています。
    (ComboboxのDataSourceにするためです。)

    内容は同じなので

    Dim DV1 as New DataView
    Dim DV2 as New DataView
    Dim DV3 as New DataView

    という形式で宣言をして、ループでComboboxへセットする方法はないものでしょうか。

    Controlの場合は、

    Controls("cbo" & i)

    という書き方ができると思うのですが、同じようにできないかと思いましたが、
    ダメでした。

    現状では調べてもわからなかったので、必要な数だけ手入力しております。

    何か良い方法がありましたら、ご教授ください。
    よろしく御願い申し上げます。
引用返信 削除キー/
■33065 / inTopicNo.2)  Re[1]: DataViewを複数作成
□投稿者/ 魔界の仮面弁士 大御所(984回)-(2015/08/01(Sat) 16:10:29)
  • アイコンNo33064に返信(TIさんの記事)
    > という形式で宣言をして、ループでComboboxへセットする方法はないものでしょうか。

    For Each combo As ComboBox In コンボボックスの一覧
     Dim view As New DataView(テーブル)
     combo.DataSource = view
    Next

    ですかね。

    > Controls("cbo" & i)
    この方法だと、たとえば Panel や GroupBox の上に載っている物のように、
    階層が異なるものを取得できませんが、それでも大丈夫ですか?
    Panel の上にある場合は、Me.Controls ではなく、Me.Panel1.Controls のように
    再帰問い合わせが必要になります。

    もし、同じ階層にあるのだとすれば、
     For Each combo In Me.Controls.OfType(Of ComboBox)()
    などと書けます。名前での絞り込みが必要なら Where を追加するとか。
引用返信 削除キー/
■33066 / inTopicNo.3)  Re[2]: DataViewを複数作成
□投稿者/ TI 一般人(9回)-(2015/08/03(Mon) 19:25:57)
  • アイコンご回答ありがとうございました。

    No33065に返信(魔界の仮面弁士さんの記事)

    ご提示の方法でできました。
    こちらがインスタンスを作るということなのですね。
    >
    >>Controls("cbo" & i)
    > この方法だと、たとえば Panel や GroupBox の上に載っている物のように、
    > 階層が異なるものを取得できませんが、それでも大丈夫ですか?
    > Panel の上にある場合は、Me.Controls ではなく、Me.Panel1.Controls のように
    > 再帰問い合わせが必要になります。

    この点も、ご丁寧な説明ありがとうございます。
    こちらは以前できなくて、いろいろと調べたことがあったので、なんとか
    出来ております。

    また、困ったときはよろしく御願い申し上げます。
解決み!
引用返信 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/


- Child Tree -