- ベストアンサー
DataGridの使用方法を教えてください
VB.NET2002で表形式で表示(参照のみ)させたいのですが,FlexGridはないようでDATAGridを使用するように書いてありましたが, DATAGridの使用方法がよく分かりません. どのような手順をふんでコードを記述するのか教えてください. 1,フォームにDATAGrid1を貼り付け. (ボタンも貼り付け,ボタンクリックでSQL実行,表示のイメージ) 2,Btn1_Clickに以下コード記述.色々参考にしていたらよく分からない状態になってしまいました... Q.フォームのプロパティでのデザインは必須なんでしょうか? Dim myConnection As New System.Data.OleDb.OleDbConnection(sConnectionString) Dim myCommand As New OleDb.OleDbCommand _ ("select * from データ", myConnection) Dim myReader As OleDb.OleDbDataReader Dim dst As New DataSet("Table") 'DataTable("DataTable") dst.Tables.Add(New DataTable("dst")) Dim dc As DataColumn myConnection.Open() myReader = myCommand.ExecuteReader 'データの読み込み While (myReader.Read) DataGrid1.DataSource = myReader.GetValue(0) End While DataGrid1.SetDataBinding(dst, "dst") myConnection.Close() myConnection = Nothing myReader.Close() myReader = Nothing myCommand = Nothing myConnection.Close() 'データベース閉じる myConnection = Nothing
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ExecuteReaderで DataReaderのインスタンスを作成します GetNameで列名を取得して DataTableのカラムを作成します dim n as integer ' DataTableのインスタンスがあったほうがいいでしょう ' 参照のみにしたいのなら データカラムのReadOnlyプロパティを操作します dim tbl as DataTable = dts.tables.Add("myTable") dim dc as DataColumn for n = 0 to myReader.FiledCount - 1 dc = tbl.Columns.Add(myReader.GetName(n)) dc.readonly = True next ' データ本体のDataTableへの格納 dim row as DataRow while myReader.Read ' 1レコードのデータを格納するため DataRowを NewRowで作成 row = tbl.NewRow for n = 0 to myReader.FiledCount -1 row(n) = myReader.GetValue(n) next ' データテーブルにデータを格納 tbl.rows.add( row ) end while DataGrid1.DataSource = dst DataGrid1.DataMember = tbl.TableName ' 作成オブジェクトの後始末 myConecttion.Close myReader.Close myConnection = Nothing myReader = nothing myCommand = nothing
その他の回答 (1)
- ape5
- ベストアンサー率57% (85/148)
以下のようにやったらできました。 Dim myConnection As New OleDb.OleDbConnection(strConnection) Dim myAdapter As New OleDb.OleDbDataAdapter("select * from データ", myConnection) Dim dst As New DataSet() 'データセットにデータを取り込みます myAdapter.Fill(dst) 'DataGridにデータを取り込みます DataGrid1.DataSource = dst.Tables(0)
お礼
ありがとうございます. こんなに簡単に実装できるのですね.
お礼
ありがとうございます DataGridでは色々できるみたいで難しいですね. これから色々チャレンジして勉強していきたいです. またお世話になりますがよろしくお願いいたします