| タイトル | : コンボボックスの内容をコピーしたい |  
| 記事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 」のエラーが表示されます。
  全く検討はずれな事をしているのでしょうか? アドバイス頂けると助かります。 
 
 |