作成日: 2014/09/26 最終更新日: 2019/04/16
文書種別
使用方法
詳細
DataSourceプロパティを設定する前にデザイナ上から列幅等を設定していたような場合、この列幅の設定は、データソースに何も指定されていないグリッドに対して行っていることになります。グリッドにデータソースを設定するとグリッドはデーソースの内容(情報)で列のレイアウト等を再構築するので、それ以前の設定はクリアされることになります。
設計時にデザイナ上でレイアウトを設定し、それを保持したままデータソースを設定したい場合は、DataSourceプロパティの代わりに、SetDataBindingメソッドを利用してください。SetDataBindingメソッドでは、第3引数のpreserveLayoutをTrueに設定することで、設計時のグリッドレイアウトを保持した上で、データソースとバインドすることができます。
◎サンプルコード(VB)
◎サンプルコード(C#)
設計時にデザイナ上でレイアウトを設定し、それを保持したままデータソースを設定したい場合は、DataSourceプロパティの代わりに、SetDataBindingメソッドを利用してください。SetDataBindingメソッドでは、第3引数のpreserveLayoutをTrueに設定することで、設計時のグリッドレイアウトを保持した上で、データソースとバインドすることができます。
◎サンプルコード(VB)
C1FlexGrid1.SetDataBinding(<DataSource>,<DataMember>, True)
(実装例)
' DataTableの設定
Dim _dt As DataTable = New DataTable("MyDataTable")
_dt.Columns.Add("CustomerId", GetType(System.Int32))
_dt.Columns.Add("CustomerName", GetType(System.String))
_dt.Rows.Add(New Object() {12, "Joe"})
_dt.Rows.Add(New Object() {14, "Bob"})
' グリッドの列名にフィールド名を設定
C1FlexGrid1.Cols(1).Name = "CustomerId"
C1FlexGrid1.Cols(2).Name = "CustomerName"
' **(1)DataSource, DataMemberを設定する場合**
' DataSetの設定
Dim ds As DataSet = New DataSet
ds.Tables.Add(_dt)
C1FlexGrid1.SetDataBinding(ds, "MyDataTable", True)
'' **(2)直接、DataTableを設定することも可能**
'C1FlexGrid1.SetDataBinding(_dt, "", True)
(実装例)
' DataTableの設定
Dim _dt As DataTable = New DataTable("MyDataTable")
_dt.Columns.Add("CustomerId", GetType(System.Int32))
_dt.Columns.Add("CustomerName", GetType(System.String))
_dt.Rows.Add(New Object() {12, "Joe"})
_dt.Rows.Add(New Object() {14, "Bob"})
' グリッドの列名にフィールド名を設定
C1FlexGrid1.Cols(1).Name = "CustomerId"
C1FlexGrid1.Cols(2).Name = "CustomerName"
' **(1)DataSource, DataMemberを設定する場合**
' DataSetの設定
Dim ds As DataSet = New DataSet
ds.Tables.Add(_dt)
C1FlexGrid1.SetDataBinding(ds, "MyDataTable", True)
'' **(2)直接、DataTableを設定することも可能**
'C1FlexGrid1.SetDataBinding(_dt, "", True)
◎サンプルコード(C#)
c1FlexGrid1.SetDataBinding(<DataSource>,<DataMember>, true);
(実装例)
// DataTableの設定
DataTable _dt = new DataTable("MyDataTable");
_dt.Columns.Add("CustomerId", typeof(int));
_dt.Columns.Add("CustomerName", typeof(string));
_dt.Rows.Add(new object[] {12, "Joe"});
_dt.Rows.Add(new object[] {14,"Bob"});
// グリッドの列名にフィールド名を設定
c1FlexGrid1.Cols[1].Name = "CustomerId";
c1FlexGrid1.Cols[2].Name = "CustomerName";
// **(1)DataSource, DataMemberを設定
// DataSetの設定
DataSet ds = new DataSet();
ds.Tables.Add(_dt);
c1FlexGrid1.SetDataBinding(ds, "MyDataTable", true);
//// **(2)直接、DataTableを設定することも可能
//c1FlexGrid1.SetDataBinding(_dt, "", true);
(実装例)
// DataTableの設定
DataTable _dt = new DataTable("MyDataTable");
_dt.Columns.Add("CustomerId", typeof(int));
_dt.Columns.Add("CustomerName", typeof(string));
_dt.Rows.Add(new object[] {12, "Joe"});
_dt.Rows.Add(new object[] {14,"Bob"});
// グリッドの列名にフィールド名を設定
c1FlexGrid1.Cols[1].Name = "CustomerId";
c1FlexGrid1.Cols[2].Name = "CustomerName";
// **(1)DataSource, DataMemberを設定
// DataSetの設定
DataSet ds = new DataSet();
ds.Tables.Add(_dt);
c1FlexGrid1.SetDataBinding(ds, "MyDataTable", true);
//// **(2)直接、DataTableを設定することも可能
//c1FlexGrid1.SetDataBinding(_dt, "", true);
関連情報
旧文書番号
73432