タイトル | : コンボボックスの内容をコピーしたい |
記事No | : 2862 |
投稿日 | : 2006/01/11(Wed) 17:21 |
投稿者 | : ひろ |
[OSのVer]:WindowsXp [VBのVer]:VB.NET2003
テーブル名の一覧を取得して (Oracle10g , ADO) Form上のComboBox (cboTableA, cboTableB, cboTableC) に格納しようとしています。
rsWork.MoveFirst() '取得したテーブル名一覧 Do While rsWork.EOF = False cboTableA.Items.Add(rsWork.Fields("TABLE_NAME").Value) cboTableB.Items.Add(rsWork.Fields("TABLE_NAME").Value) cboTableC.Items.Add(rsWork.Fields("TABLE_NAME").Value) rsWork.MoveNext() Loop
上記で実現はできるのですが、自分的になんかすっきりしません。
ループの中では cboTableA にセットして、 最終的に内容を cboTableB, cboTableC にコピーできれば・・・と考えています。
.Items まで入力すると 入力候補の中に CopyTo があったので、調べてみました。 ・・・が、ぴんと来ません。
<< Help の抜粋 >> このメソッドを使用して、複数のコレクションの項目を 1 つの配列に結合できます。その後、この配 列を使用し、 ComboBox.ObjectCollection クラスの AddRange メソッドを使用して、別の ComboBox コントロールの内容を代入できます。
この方法を取ってみようと考えたのです。
Dim objWork() As Object
cboTableA.Items.CopyTo(objWork, 0) cboTableB.Items.AddRange(objWork) cboTableC.Items.AddRange(objWork)
上記だと、「配列をNullにすることはできません。 dest 」のエラーが表示されます。
全く検討はずれな事をしているのでしょうか? アドバイス頂けると助かります。
|