VB.Net における Grid表示で
それぞれの列の巾のデフォルト値を任意に指定したいのですが???
tSet = New DataSet("検索条件")
If DisplayFlag = True Then
dtSet.Clear()
End If
If command = ClearButton Then
Exit Sub
End If
DisplayFlag = True
DisplayDataList = MatrixS.GetDisplayItemList()
' MsgBox("SCREEN DISPLAY")
'列を加える
dtTable = dtSet.Tables.Add("List")
dtColumn = dtSet.Tables("List").Columns.Add("番号")
dtColumn.ReadOnly = True
******** ← ここにサイズを指定したい 例 50
dtColumn = dtSet.Tables("List").Columns.Add("データ項目名")
dtColumn.ReadOnly = True
******** ← ここにサイズを指定したい 例 250
dtColumn = dtSet.Tables("List").Columns.Add("データ型")
dtColumn.ReadOnly = True
******** ← ここにサイズを指定したい 例 250
dtColumn = dtSet.Tables("List").Columns.Add("データ長")
dtColumn.ReadOnly = True
******** ← ここにサイズを指定したい 例 250
dtColumn = dtSet.Tables("List").Columns.Add("表示列順")
dtColumn.ReadOnly = True
dtColumn = dtSet.Tables("List").Columns.Add("検索条件入力:編集対象")
dtColumn.ReadOnly = False
dtColumn = dtSet.Tables("List").Columns.Add("備考")
tblStyle = New DataGridTableStyle
tblStyle.MappingName = "List"
DataGrid1.TableStyles.Add(tblStyle)
'列スタイルを作成してテーブルスタイルに追加する
clmStyle1 = New DataGridTextBoxColumn
clmStyle1.MappingName = "番号"
clmStyle1.Width = 40
tblStyle.GridColumnStyles.Add(clmStyle1)
clmStyle2 = New DataGridTextBoxColumn
clmStyle2.MappingName = "データ項目名"
clmStyle2.Width = 150
tblStyle.GridColumnStyles.Add(clmStyle2)
clmStyle3 = New DataGridTextBoxColumn
clmStyle3.MappingName = "データ型"
clmStyle3.Width = 50
tblStyle.GridColumnStyles.Add(clmStyle3)
clmStyle4 = New DataGridTextBoxColumn
clmStyle4.MappingName = "データ 長"
clmStyle4.Width = 80
tblStyle.GridColumnStyles.Add(clmStyle4)
clmStyle5 = New DataGridTextBoxColumn
clmStyle5.MappingName = "表示列順"
clmStyle5.Width = 60
tblStyle.GridColumnStyles.Add(clmStyle5)
実は、参考書を見てサイズに変更までは出来ましたが
ヘッダーが消えてしまいました。
ヘッダーに該当するMappingNameを試しに消して
実行すると、無表示となりNG
これって MicroSoftのバグかな???
参考書の中でもヘッダー消えていた(参考書添付CDからソース
を取り出した実行すると参考書の通りだが、結果はヘッダー
消えまで一致した。)
clmStyle6 = New DataGridTextBoxColumn
clmStyle6.MappingName = "検索条件入力:編集対象"
clmStyle6.Width = 200
tblStyle.GridColumnStyles.Add(clmStyle6)
clmStyle7 = New DataGridTextBoxColumn
clmStyle7.MappingName = "備考"
clmStyle7.Width = 80
tblStyle.GridColumnStyles.Add(clmStyle7)
'データグリッドにテーブルを表示する
DataGrid1.SetDataBinding(dtSet, "List")
clmStyle4 = New DataGridTextBoxColumn
clmStyle4.MappingName = "データ 長"
clmStyle4.HeaderText="データ 長" ’←で解決しました。
clmStyle4.Width = 80
tblStyle.GridColumnStyles.Add(clmStyle4)