VB.NET 2002使用
フォーム上にDataGridコントロールを貼付け
Form_Load()内に以下のように記述し、SQLを使用してデータを表示させるようにしていますが、
列幅がデフォルト?になっているようで変更ができません。
どのようなコードを記述すれば変更ができるのでしょうか。
MSDNやWEBサンプル(dobon.net)を参考にしてダメでした。
DataGridプロパティのDataGridTableStyleのコレクション内を色々さわってみてもダメ。
DataGridの設定・使用方をよく分かっていないのが問題なんだと思うのですが、「こういう記述をすればいい」というのがお分かりの方がいらっしゃいましたら教えてください。
<記述したコード(一部)>
Public dst As New DataSet()
Private Sub Form1_Load(省略) Handles MyBase.Load
sql = "select 列1,列2 from テーブル"
Dim myConnection ...
Dim myCommand As New OleDb.OleDbDataAdapter(ssql, myConnection)
dst.Clear()
myCommand.Fill(dst) 'データセットにデータ取込み
DataGrid1.DataSource = dst.Tables(0) 'DataGridにデータ取込み
myCommand = Nothing
myConnection.Close() 'データベース閉じる
myConnection = Nothing
Dim ts As New DataGridTableStyle()
ts.MappingName = "DataTable1" 'サンプルからそのまま流用
Dim cs1 DataGridTextBoxColumn
cs1 = New DataGridTextBoxColumn()
cs1.MappingName="Column1"
cs1.width = 200
ts.GridColumnStyles.Add(cs1)
Dim cs2 DataGridTextBoxColumn
cs2.MappingName="Column1"
cs2 = New DataGridTextBoxColumn()
cs2.width = 300
ts.GridColumnStyles.Add(cs2)
DataGrid1.TableStyles.Add(ts)
End sub
No.1
- 回答日時:
以下のようにやるとできるようです。
コツとしては、先にDataGridにデータを取り込んでおいてそのあとに操作をするといいようです。
-----------------------------------------------------------
DataGrid1.DataSource = dst.Tables(0) 'DataGridにデータ取込み
Dim sampleTableStyle As DataGridTableStyle
sampleTableStyle = DataGrid1.TableStyles(0)
sampleTableStyle.GridColumnStyles(0).Width = 20
sampleTableStyle.GridColumnStyles(1).Width = 10
sampleTableStyle.GridColumnStyles(2).Width = 100
ありがとうございます。
ご紹介していただきました方法を試して見ましたが、変化はありませんでした。
参考になるWEBサイト、書籍がありましたら教えてください。
No.2ベストアンサー
- 回答日時:
もう少し必要なようでした。
下のようにしてみてください。
-------------------------------------------------------------
DataGrid1.DataSource = dst.Tables(0) 'DataGridにデータ取込み
Dim myDGTableStyle As DataGridTableStyle = New DataGridTableStyle()
myDGTableStyle.MappingName = dst.Tables(0).TableName
DataGrid1.TableStyles.Add(myDGTableStyle)
Dim sampleTableStyle As DataGridTableStyle
sampleTableStyle = DataGrid1.TableStyles(0)
sampleTableStyle.GridColumnStyles(0).Width = 20
sampleTableStyle.GridColumnStyles(1).Width = 10
sampleTableStyle.GridColumnStyles(2).Width = 100
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- その他(Microsoft Office) マクロVBAについて 1 2022/09/06 18:12
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGridViewで表示に制限をつ...
-
【Excel VBA】先頭の「0」飛び...
-
コンボボックス
-
コンパイルエラーSubまたは...
-
EXCEL2000のマクロ(ADO)にてCSV...
-
yahoo天気の過去1ヶ月分のデー...
-
マクロについて(tatsumaru77さ...
-
GridViewにバインドせずにデー...
-
Windows formアプリで データグ...
-
特定のセルが空白だったら、そ...
-
ExcelVBAを使って、値...
-
VBAでセルをクリックする回...
-
ハッシュテーブル(連想配列)が...
-
Excelのセルの色指定をVBAから...
-
VBからEXCELのセルの値を取得す...
-
Excelで指定した日付から過去の...
-
Accessのクエリで、replace関数...
-
特定の文字を条件に行挿入とそ...
-
【Excel】指定したセルの名前で...
-
ExcelのINDEXとMATCH関数でスピ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】先頭の「0」飛び...
-
DataGrdViewに関連付けたデータ...
-
Listviewのデータを上から順番...
-
GASでスプレッドシートの一番上...
-
VBAでページ番号、ページ最終行...
-
.NET SqlDataReader のレコー...
-
GridViewにバインドせずにデー...
-
【ASP.NET MVC】一覧編集画面
-
ASP C# データベースから1行取得
-
MSFlexGridのデータ表示位置の設定
-
コンパイルエラーSubまたは...
-
C# データ配列から画像を作成す...
-
エクセルマクロ小数点桁数
-
DataGridViewで表示に制限をつ...
-
スプレッドシート 一括でQRコー...
-
GridViewを自動的にスクロール...
-
VB DataRepeaterにて条件で表示
-
DBへの重複更新を防ぐ方法について
-
GoogleEarthのKMLファイルでラ...
-
エクセルVBA、数式の入ったセル...
おすすめ情報