DataGridの列を削除する、列を非表示にするDataGridの列を削除するDataGridに表示されている列を削除するには、GridColumnStylesCollection.RemoveメソッドかRemoveAtメソッドを使います。この時、列スタイルが設定されている必要があります。なお、列スタイルの設定方法はこちらをご覧ください。 ここではDataGrid1(DataGridオブジェクト)にDataTable1(DataTableオブジェクト、TableName="DataTable1")が連結されているものとし、列"Column1"を削除します。 [VB.NET] 'GridColumnStylesCollection.RemoveAtメソッドで列を削除する Dim gcsc As GridColumnStylesCollection gcsc = DataGrid1.TableStyles("DataTable1").GridColumnStyles '"Column1"を削除する '"Column1"がGridColumnStylesCollection内にあるか調べる If gcsc.Contains("Column1") Then '"Column1"のインデックスの取得 '"Column1"がGridColumnStylesCollection内にない時は-1を返す Dim i As Integer i = gcsc.IndexOf(gcsc("Column1")) 'インデックス番号で削除する gcsc.RemoveAt(i) End If [C#] //GridColumnStylesCollection.RemoveAtメソッドで列を削除する GridColumnStylesCollection gcsc; gcsc = DataGrid1.TableStyles["DataTable1"].GridColumnStyles; //"Column1"を削除する //"Column1"がGridColumnStylesCollection内にあるか調べる if (gcsc.Contains("Column1")) { //"Column1"のインデックスの取得 //"Column1"がGridColumnStylesCollection内にない時は-1を返す int i; i = gcsc.IndexOf(gcsc["Column1"]); //インデックス番号で削除する gcsc.RemoveAt(i); } 次にRemoveメソッドの使用法です。 [VB.NET] 'GridColumnStylesCollection.Removeメソッドで列を削除する Dim gcsc As GridColumnStylesCollection gcsc = DataGrid1.TableStyles("DataTable1").GridColumnStyles '"Column1"を削除する '"Column1"がGridColumnStylesCollection内にあるか調べる If gcsc.Contains("Column1") Then '削除する gcsc.Remove(gcsc("Column1")) End If [C#] //GridColumnStylesCollection.Removeメソッドで列を削除する GridColumnStylesCollection gcsc; gcsc = DataGrid1.TableStyles["DataTable1"].GridColumnStyles; //"Column1"を削除する //"Column1"がGridColumnStylesCollection内にあるか調べる if (gcsc.Contains("Column1")) { //削除する gcsc.Remove(gcsc["Column1"]); } DataGridの列を非表示にする次に列を非表示にする方法を考えてみます。 一番手っ取り早い方法は列の幅を0にすることです。列の幅を変更する方法はこちらをご覧ください。 またDataColumnオブジェクトのColumnMappingプロパティをMappingType.Hiddenにするという方法もあります。 [VB.NET] 'DataTableオブジェクトの作成 Dim dt As DataTable dt = New DataTable("DataTable1") 'DataColumnオブジェクトの作成 Dim dc As DataColumn dc = New DataColumn("Column1", GetType(String)) dc.ColumnMapping = MappingType.Hidden '列の追加 dt.Columns.Add(dc) '連結する DataGrid1.DataSource = dt [C#] //DataTableオブジェクトの作成 DataTable dt = new DataTable("DataTable1"); //DataColumnオブジェクトの作成 DataColumn dc1 = new DataColumn("Column1", typeof(string)); dc1.ColumnMapping = MappingType.Hidden; //列の追加 dt.Columns.Add(dc1); //連結する DataGrid1.DataSource = dt; |
|
Copyright 2002-2008 DOBON!. All rights reserved.
|