DataTableに追加してある列名を取得したい


ナバコ  2008-02-11 12:12:49  No: 138927  IP: 192.*.*.*

VB2005で、検索項目(属性)をユーザーが自分で設定できる蔵書管理ツールを作りたいと思っています。
Datatableクラスを使って、ユーザーが任意に列を追加してデータベースをつくり、その列名を使って、ユーザーが自分で追加したレコードを検索できるような感じです。

Datatableに列名を追加するところまではできたのですが、
逆にその列名をDatatableから取得する方法をご教授頂きたく思います。

 Dim DT As New DataTable
 DT.TableName = "ユーザー定義テーブル"
 DT.Columns.Add("ユーザーが定義")
 DT.Columns.Add("ユーザーが定義")
 DT.Columns.Add("ユーザーが定義")

という感じで追加してある列の列名一覧を、
あとから取得してリストボックスなどに表示したいです。

Datatableはメモリ上で使うだけで、レコードの保存はCSVファイルを使用しますので、データベースに接続したりなどということはしません。表示にDataGridViewを使うため、反映するのが楽だということでDataTableを使っております。

まだプログラミングの勉強を始めて2週間程度で、
用語の使い方など間違っているかもしれませんが、
何卒宜しくお願いいたします。

編集 削除
YuO  2008-02-11 13:03:51  No: 138928  IP: 192.*.*.*

DataTable.Columnsで得られるDataColumnCollectionはDataColumnのコレクションですから,
For Each使ったりColumns(0)のようにインデックスアクセスを行ってDataColumnを手に入れることができます。
http://msdn2.microsoft.com/ja-jp/library/system.data.datacolumncollection.aspx

そして,得られたDataColumnのColumnNameプロパティで,列名 (Add時に指定した名前) が得られます。
http://msdn2.microsoft.com/ja-jp/library/system.data.datacolumn.columnname.aspx

編集 削除
ナバコ  2008-02-11 14:18:45  No: 138929  IP: 192.*.*.*

お早いお返事どうもありがとうございます。
丁寧に解説していただきましてやっと理解できました。

どうもありがとうございました<(_ _)>

編集 削除