如何使用Windows应用程序将数据绑定到C#中的SyncFusion GridControl?

时间:2014-04-18 14:43:51

标签: c# winforms data-binding gridcontrol syncfusion

我厌倦了这种Syncfusion控件,与普通的datagridview相比,这些非常困难。 Syncfusion GridControl中的Datapropertyname在哪里。如何将数据绑定到网格控件。

gridControl1.ColStyles[3].DataSource = dt1; 
gridControl1.ColStyles[3].DisplayMember = "bcmp_Name"; gridControl1.ColStyles[3].ValueMember = "bcmp_Id"; 
gridControl1.ColStyles[3].DropDownStyle = Syncfusion.Windows.Forms.Grid.GridDropDownStyle.Exclusive;
gridControl1.ColStyles[5].DataSource = dt2; 
gridControl1.ColStyles[5].DisplayMember = "bcmp_Name"; 
gridControl1.ColStyles[5].ValueMember = "bcmp_Id"; 
gridControl1.ColStyles[5].DropDownStyle = Syncfusion.Windows.Forms.Grid.GridDropDownStyle.Exclusive;
gridControl1.ColStyles[7].DataSource = dt3; 
gridControl1.ColStyles[7].DisplayMember = "bcmp_Name"; gridControl1.ColStyles[7].ValueMember = "bcmp_Id"; 
gridControl1.ColStyles[7].DropDownStyle = Syncfusion.Windows.Forms.Grid.GridDropDownStyle.Exclusive;
gridControl1.ColStyles[9].DataSource = dt4; 
gridControl1.ColStyles[9].DisplayMember = "bcmp_Name"; 
gridControl1.ColStyles[9].ValueMember = "bcmp_Id"; 
gridControl1.ColStyles[9].DropDownStyle = Syncfusion.Windows.Forms.Grid.GridDropDownStyle.Exclusive;
gridControl1.TableStyle.DataSource = Chldtbl;

通过使用上面的代码,我无法绑定它,我没有进入任何一个链接。

2 个答案:

答案 0 :(得分:0)

看起来你正在使用错误的网格控件。使用Syncfusion.Windows.Forms.Grid.Grouping.GridGroupingControlSyncfusion.Windows.Forms.Grid.GridDataBoundGrid控件进行直接数据绑定。

如果您确实想使用Syncfusion.Windows.Forms.Grid.GridControl,则可以在虚拟模式下使用它。查看QueryColCountQueryRowCountQueryCellInfoQueryCellFormattedText事件。 QueryCellInfo是您应该设置样式和值的地方。如果您想进行双向绑定,请参阅SaveCellInfo事件。

答案 1 :(得分:0)

正如Doug所建议的,数据绑定的最佳方法是使用GridGrouping或GridDataBound控件。如果您仍想使用GridControl,我们建议您使用PopulateValues方法来绑定数据。有关详细信息,请参阅以下代码段和UG链接。

C#:
this.gridControl1.BeginUpdate();
this.gridControl1.RowCount = this.numArrayRows;
this.gridControl1.ColCount = this.numArrayCols;



// Call PopulateValues Method to move values from a given data source (this.initArray) into the Grid Range specified.
this.gridControl1.Model.PopulateValues(GridRangeInfo.Cells(1, 1, this.numArrayRows, this.numArrayCols), this.intArray);
this.gridControl1.EndUpdate();
this.gridControl1.Refresh();

UG链接: http://help.syncfusion.com/ug/windows%20forms/grid/documents/thegridcontrolpopula.htm

您还可以使用虚拟网格将数据绑定到网格。虚拟网格可以非常快速地显示大量数据。有关虚拟网格的详细信息,请参阅以下UG链接。

UG链接: http://help.syncfusion.com/ug/windows%20forms/grid/documents/virtualgrids.htm

此致 阿尼什