VB.NET, C#, PowerShellを使用しているエンジニアのためのサイト。
基本的な使用方法から開発で役立つTipsまで幅広く取り扱っています。
<< 前のTips 次のTips >>
DataGridにCheckBoxを表示する機能は標準で提供されていますが、結構面倒なので下記に手順を示します。
1.列を作成してテーブルに追加します
2.新しいテーブルスタイルを宣言してマップ名を設定します
マップ名にはテーブル名をセットします
3.新しい列スタイルを宣言します。
列スタイルをDataGridBoolColumnで作成することでCheckBoxを表示できるようになります
4.ヘッダーテキストに列名を設定する(これを行わないと、DataGridに列名が表示されなくなる)
5.チェックボックスにNULLが表示されないようにします。
6.作成した列スタイルを1.で作成したDataGridTableStyleに追加する
2.~6.を列の数だけ行います。
7.DataGridにテーブルを表示します
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '列を作成してテーブルに列を追加します Dim dataSet1 As New DataSet("SAMPLE") Dim dataTable1 As DataTable = dataSet1.Tables.Add("SAMPLE") Dim dc1 As DataColumn = dataTable1.Columns.Add("列1", GetType(String)) Dim dc2 As DataColumn = dataTable1.Columns.Add("列2", GetType(String)) Dim dc3 As DataColumn = dataTable1.Columns.Add("列3", GetType(Boolean)) '新しいテーブル スタイルを宣言し、そのマップ名を設定します。 'マップ名にはテーブル名をセットします Dim DGTS As New DataGridTableStyle DGTS.MappingName = dataTable1.TableName DataGrid1.TableStyles.Add(DGTS) '新しい列スタイルを宣言します 'style3をDataGridBoolColumnで宣言することで 'チェックボックスを表示できるようします Dim style1 As New DataGridTextBoxColumn Dim style2 As New DataGridTextBoxColumn Dim style3 As New DataGridBoolColumn style1.MappingName = dc1.ColumnName style2.MappingName = dc2.ColumnName style3.MappingName = dc3.ColumnName 'ヘッダーテキストに列名をセットします style1.HeaderText = dc1.ColumnName style2.HeaderText = dc2.ColumnName style3.HeaderText = dc3.ColumnName 'チェック・ボックスにNULLが設定されないようします style3.AllowNull = False '作成した各列のスタイルをDataGridTableStyleに追加します DGTS.GridColumnStyles.Add(style1) DGTS.GridColumnStyles.Add(style2) DGTS.GridColumnStyles.Add(style3) 'テーブルにデータを追加します dataTable1.Rows.Add(New [Object]() {1, "C", True}) dataTable1.Rows.Add(New [Object]() {2, "VB", False}) dataTable1.Rows.Add(New [Object]() {3, "C#", True}) dataTable1.Rows.Add(New [Object]() {4, "JAVA", False}) dataTable1.Rows.Add(New [Object]() {5, "Perl", True}) dataTable1.Rows.Add(New [Object]() {6, "PHP", True}) 'データグリッドにテーブルを表示します DataGrid1.SetDataBinding(dataSet1, dataTable1.TableName) End Sub
<< 前のTips 次のTips >>