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週間程度で、
用語の使い方など間違っているかもしれませんが、
何卒宜しくお願いいたします。
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
お早いお返事どうもありがとうございます。
丁寧に解説していただきましてやっと理解できました。
どうもありがとうございました<(_ _)>