好好学习,天天向上,一流范文网欢迎您!
当前位置:首页 >> 最新范文 内容页

DevExpress中GridControl使用技巧总结-详解图文并茂

DevExpress中GridControl使用技巧总结-详解图文并茂 本文关键词:图文并茂,使用技巧,详解,DevExpress,GridControl

DevExpress中GridControl使用技巧总结-详解图文并茂 本文简介:个人博客园http://www.16fw.com/lqsilly/GridControl详解(基础)控件常用属性设置1、如何解决单击记录整行选中的问题View->OptionsBehavior->EditorShowMode设置为:Click2、如何新增一条记录(1)、gridView.AddNe

DevExpress中GridControl使用技巧总结-详解图文并茂 本文内容:

个人博客园

http://www.16fw.com/lqsilly/

GridControl详解(基础)控件常用属性设置

1、

如何解决单击记录整行选中的问题

View->OptionsBehavior->EditorShowMode

设置为:Click

2、

如何新增一条记录

(1)、gridView.AddNewRow()

(2)、实现gridView_InitNewRow事件

3、如何解决GridControl记录能获取而没有显示出来的问题

gridView.populateColumns();

4、如何让行只能选择而不能编辑(或编辑某一单元格)

(1)、View->OptionsBehavior->EditorShowMode

设置为:Click

(2)、View->OptionsBehavior->Editable

设置为:false

5、如何禁用GridControl中单击列弹出右键菜单

设置Run

Design->OptionsMenu->EnableColumnMenu

设置为:false

6、如何隐藏GridControl的GroupPanel表头

设置Run

Design->OptionsView->ShowGroupPanel

设置为:false

7、如何禁用GridControl中列头的过滤器

过滤器如下图所示:

设置

Run

Design->OptionsCustomization->AllowFilter

设置为:false

8、如何在查询得到0条记录时显示自定义的字符提示/显示

如图所示:

方法如下:

//When

no

Records

Are

Being

Displayed

private

void

gridView1_CustomDrawEmptyForeground(object

sender,CustomDrawEventArgs

e)

{

//方法一(此方法为GridView设置了数据源绑定时,可用)

ColumnView

columnView

=

sender

as

ColumnView;

BindingSource

bindingSource

=

this.gridView1.DataSource

as

BindingSource;

if(bindingSource.Count

==

0)

{

string

str

=

“没有查询到你所想要的数据!“;

Font

f

=

new

Font(“宋体“,10,FontStyle.Bold);

Rectangle

r

=

new

Rectangle(e.Bounds.Top

+

5,e.Bounds.Left

+

5,e.Bounds.Right

-

5,e.Bounds.Height

-

5);

e.Graphics.DrawString(str,f,Brushes.Black,r);

}

//方法二(此方法为GridView没有设置数据源绑定时,使用,一般使用此种方法)

if

(this._flag)

{

if

(this.gridView1.RowCount

==

0)

{

string

str

=

“没有查询到你所想要的数据!“;

Font

f

=

new

Font(“宋体“,10,FontStyle.Bold);

Rectangle

r

=

new

Rectangle(e.Bounds.Left

+

5,e.Bounds.Top

+

5,e.Bounds.Width

-

5,e.Bounds.Height

-

5);

e.Graphics.DrawString(str,f,Brushes.Black,r);

}

}

}

9、如何显示水平滚动条?

设置this.gridView.OptionsView.ColumnAutoWidth

=

false;

10、如何定位到第一条数据/记录?

设置

this.gridView.MoveFirst()

11、如何定位到下一条数据/记录?

设置

this.gridView.MoveNext()

12、如何定位到最后一条数据/记录?

设置

this.gridView.MoveLast()

13、设置成一次选择一行,并且不能被编辑

this.gridView1.FocusRectStyle

=

DevExpress.XtraGrid.Views.Grid.DrawFocusRectStyle.RowFocus;

this.gridView1.OptionsBehavior.Editable

=

false;

this.gridView1.OptionsSelection.EnableAppearanceFocusedCell

=

false;

14、如何显示行号?

this.gridView1.IndicatorWidth

=

40;

//显示行的序号

private

void

gridView1_CustomDrawRowIndicator(object

sender,RowIndicatorCustomDrawEventArgs

e)

{

if

(e.Info.IsRowIndicator

}

}

15、如何让各列头禁止移动?

设置gridView1.OptionsCustomization.AllowColumnMoving

=

false;

16、如何让各列头禁止排序?

设置gridView1.OptionsCustomization.AllowSort

=

false;

17、如何禁止各列头改变列宽?

设置gridView1.OptionsCustomization.AllowColumnResizing

=

false;

GridControl详解(一)原汁原味的表格展示

Dev控件中的表格控件GridControl控件非常强大。不过,一些细枝末节的地方有时候用起来不好找挺讨厌的。使用过程中,多半借助Demo和英文帮助文档。网上具体的使用方法也多半零碎。偶遇一个简单而且详细的使用文档。好记性不如烂笔头!转载过来,整理整理发出来做个记录,总共有十个小节。做的非常精细,非常感谢原作者。

插件所在位置

使用时拖拽过来,如下所示即使拖拽过来原封不动的样子:

在程序中写入构建一个表格的代码:

[csharp]

view

plaincopyprint?

1.

private

DataTable

InitDt()

2.

{

3.

DataTable

dt

=

new

DataTable(“个人简历“);

4.

dt.Columns.Add(“id“,typeof(int));

5.

dt.Columns.Add(“name“,typeof(string));

6.

dt.Columns.Add(“sex“,typeof(int));

7.

dt.Columns.Add(“address“,typeof(string));

8.

dt.Columns.Add(“aihao“,typeof(string));

9.

dt.Columns.Add(“photo“,typeof(string));

10.

dt.Rows.Add(new

object[]

{

1,“张三“,1,“东大街6号“,“看书“,““});

11.

dt.Rows.Add(new

object[]

{

1,“王五“,0,“西大街2号“,“上网,游戏“,““});

12.

dt.Rows.Add(new

object[]

{

1,“李四“,1,“南大街3号“,“上网,逛街“,““});

13.

dt.Rows.Add(new

object[]

{

1,“钱八“,0,“北大街5号“,“上网,逛街,看书,游戏“,““});

14.

dt.Rows.Add(new

object[]

{

1,“赵九“,1,“中大街1号“,“看书,逛街,游戏“,““});

15.

return

dt;

16.

}

17.

private

DataTable

InitDt()

{

DataTable

dt

=

new

DataTable(“个人简历“);

dt.Columns.Add(“id“,typeof(int));

dt.Columns.Add(“name“,typeof(string));

dt.Columns.Add(“sex“,typeof(int));

dt.Columns.Add(“address“,typeof(string));

dt.Columns.Add(“aihao“,typeof(string));

dt.Columns.Add(“photo“,typeof(string));

dt.Rows.Add(new

object[]

{

1,“张三“,1,“东大街6号“,“看书“,““});

dt.Rows.Add(new

object[]

{

1,“王五“,0,“西大街2号“,“上网,游戏“,““});

dt.Rows.Add(new

object[]

{

1,“李四“,1,“南大街3号“,“上网,逛街“,““});

dt.Rows.Add(new

object[]

{

1,“钱八“,0,“北大街5号“,“上网,逛街,看书,游戏“,““});

dt.Rows.Add(new

object[]

{

1,“赵九“,1,“中大街1号“,“看书,逛街,游戏“,““});

return

dt;

}

书写gridControl1绑定数据方法:

[csharp]

view

plaincopyprint?

1.

private

void

BindDataSource(DataTable

dt)

2.

{

3.

//绑定DataTable

4.

gridControl1.DataSource

=

dt;

5.

//绑定DataSet

6.

//gridControl1.DataSource

=

ds;

7.

//gridControl1.DataMember

=

“表名“;

8.

}

private

void

BindDataSource(DataTable

dt)

{

//绑定DataTable

gridControl1.DataSource

=

dt;

//绑定DataSet

//gridControl1.DataSource

=

ds;

//gridControl1.DataMember

=

“表名“;

}

程序调用:BindDataSource(InitDt());

呈现结果如下:

GridControl详解(二)表格的列名配置

点击Run

Designer控件上的按钮,弹出视图设计窗口:

列配置:

我们配置完列名后,会发现设计视图发生了变化:

运行结果:

GridControl详解(三)列数据的格式设置

为了测试方便,我们加入新的3列,格式分别是数据,时间,字符串。代码增加下列部分:

[csharp]

view

plaincopyprint?

1.

//格式增加

2.

dt.Columns.Add(“数据“,typeof(decimal));

3.

dt.Columns.Add(“时间“,typeof(DateTime));

4.

dt.Columns.Add(“自定义“,typeof(string));

5.

dt.Rows.Add(new

object[]

{

1,“张三“,1,“东大街6号“,“看书“,““,-52.874,“2011-8-5

17:52:55“,“###“});

6.

dt.Rows.Add(new

object[]

{

1,“王五“,0,“西大街2号“,“上网,游戏“,““,-37.257,“2011-8-5

17:52:55“});

7.

dt.Rows.Add(new

object[]

{

1,“李四“,1,“南大街3号“,“上网,逛街“,““,-54.254,“2011-8-9

17:52:55“});

8.

dt.Rows.Add(new

object[]

{

1,“钱八“,0,“北大街5号“,“上网,逛街,看书,游戏“,““,-35.127,“2011-8-9

17:52:55“});

9.

dt.Rows.Add(new

object[]

{

1,“赵九“,1,“中大街1号“,“看书,逛街,游戏“,““,-29.548,“2011-8-9

20:52:55“});

//格式增加

dt.Columns.Add(“数据“,typeof(decimal));

dt.Columns.Add(“时间“,typeof(DateTime));

dt.Columns.Add(“自定义“,typeof(string));

dt.Rows.Add(new

object[]

{

1,“张三“,1,“东大街6号“,“看书“,““,-52.874,“2011-8-5

17:52:55“,“###“});

dt.Rows.Add(new

object[]

{

1,“王五“,0,“西大街2号“,“上网,游戏“,““,-37.257,“2011-8-5

17:52:55“});

dt.Rows.Add(new

object[]

{

1,“李四“,1,“南大街3号“,“上网,逛街“,““,-54.254,“2011-8-9

17:52:55“});

dt.Rows.Add(new

object[]

{

1,“钱八“,0,“北大街5号“,“上网,逛街,看书,游戏“,““,-35.127,“2011-8-9

17:52:55“});

dt.Rows.Add(new

object[]

{

1,“赵九“,1,“中大街1号“,“看书,逛街,游戏“,““,-29.548,“2011-8-9

20:52:55“});

给gridControl1增加3列,对应上述三列。

数据:

具体数据公式可以查看输入控件的MASK设置器,里面有全部的格式公式:

运行结果:

时间:

自定义:

事件转换:

概念明确:

1.

gridControl1的每一列原始数据是Value,但是显示数据是

DisplayText,默认DisplayText的值即是Value通过DisplayFormat转换之后的值。

2.

gridControl下的事件一般是包含表格GridView切换,点击,更改的事件,用的不多;每一个GridView下的事件包含行列处理,菜单显示,分组排序等事件,我们常用。(所有在使用事件时,一定要明确是control事件还是view事件)

GridView存在事件:自定义列显示事件

增加事件:

[csharp]

view

plaincopyprint?

1.

private

voidgridView1_CustomColumnDisplayText(objectsender,DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgse)

2.

{

3.

if(e.Column.FieldName

==“sex“)

4.

{

5.

switch(e.Value.ToString().Trim())

6.

{

7.

case“1“:

8.

e.DisplayText

=

“男“;

9.

break;

10.

case“0“:

11.

e.DisplayText

=

“女“;

12.

break;

13.

default:

14.

e.DisplayText

=

““;

15.

break;

16.

}

17.

}

18.

}

private

voidgridView1_CustomColumnDisplayText(objectsender,DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgse)

{

if(e.Column.FieldName

==“sex“)

{

switch(e.Value.ToString().Trim())

{

case“1“:

e.DisplayText

=

“男“;

break;

case“0“:

e.DisplayText

=

“女“;

break;

default:

e.DisplayText

=

““;

break;

}

}

}

显示结果:

GridControl详解(四)分组排序汇总

分组:

按时间分第一组:

按性别分第二组:

显示结果:

高级设置:

将所有组展开代码:gridView1.ExpandAllGroups();

显示结果:

自定义组名,GridView级事件

增加事件:

[csharp]

view

plaincopyprint?

1.

private

void

gridView1_CustomDrawGroupRow(object

sender,DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs

e)

2.

{

3.

GridGroupRowInfo

GridGroupRowInfo

=

e.Info

as

GridGroupRowInfo;

4.

GridGroupRowInfo.GroupText

=

“第“+

(e.RowHandle).ToString()

+

“行

“+

GridGroupRowInfo.EditValue.ToString();

5.

}

private

void

gridView1_CustomDrawGroupRow(object

sender,DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs

e)

{

GridGroupRowInfo

GridGroupRowInfo

=

e.Info

as

GridGroupRowInfo;

GridGroupRowInfo.GroupText

=

“第“+

(e.RowHandle).ToString()

+

“行

“+

GridGroupRowInfo.EditValue.ToString();

}

显示结果:

注意:每一行都有一个RowHandle属性,普通行的RowHandle为非负整数,从0开始;组行

排序:

排序设置

显示结果:

汇总:

汇总数据列设置

注意:汇总结果是显示在Footer面板中的,gridControl中的Footer面板默认是不显示的,所以如果要汇总数据,那么必须先设置Footer面板显示。

显示结果:

组计:

代码:

[csharp]

view

plaincopyprint?

1.

gridView1.GroupSummary.Add(DevExpress.Data.SummaryItemType.Sum,“数据“,gridColumn7,“组计:{0}“);

gridView1.GroupSummary.Add(DevExpress.Data.SummaryItemType.Sum,“数据“,gridColumn7,“组计:{0}“);

结果显示

GridControl详解(五)设置行备注和行号

备注显示设置

设置备注字段

显示结果:

可以写入按键事件F3,用以开关备注显示

[csharp]

view

plaincopyprint?

1.

private

void

Form4_KeyUp(object

sender,KeyEventArgs

e)

2.

{

3.

if

(e.KeyCode

==

Keys.F3)

4.

{

5.

gridView1.OptionsView.ShowPreview

=

!gridView1.OptionsView.ShowPreview;

6.

}

7.

}

private

void

Form4_KeyUp(object

sender,KeyEventArgs

e)

{

if

(e.KeyCode

==

Keys.F3)

{

gridView1.OptionsView.ShowPreview

=

!gridView1.OptionsView.ShowPreview;

}

}

行号显示要用到的事件:

代码:

[csharp]

view

plaincopyprint?

1.

private

void

gridView1_CustomDrawRowIndicator(object

sender,DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs

e)

2.

{

3.

if

(e.Info.IsRowIndicator)

4.

{

5.

e.Info.DisplayText

=

“Row

“+

e.RowHandle.ToString();

6.

}

7.

}

8.

gridView1.IndicatorWidth

=

70;

private

void

gridView1_CustomDrawRowIndicator(object

sender,DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs

e)

{

if

(e.Info.IsRowIndicator)

{

e.Info.DisplayText

=

“Row

“+

e.RowHandle.ToString();

}

}

gridView1.IndicatorWidth

=

70;

显示结果

GridControl详解(六)样式设置

表格样式:全局设置

例子:

例子:

列样式:只作用于当前的列

通用样式:外观设定

注意:样式设定都是相同的,Appearance前缀。

GridControl详解(七)事件

[csharp]

view

plaincopyprint?

1.

private

void

gridView1_RowCellClick(object

sender,DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs

e)

2.

{

3.

if

(e.Button

==

MouseButtons.Left)

4.

{

5.

//鼠标的那个按钮按下

6.

}

7.

if

(e.Clicks

==

2)

8.

{

9.

//鼠标点击次数

10.

}

11.

if

(e.Delta

>

0)

12.

{

13.

//鼠标滚轮滚动方向

14.

}

15.

if

(e.X

>

0

6.

if

(GridCellInfo.IsDataCell

13.

}

14.

}

private

void

gridView1_CustomDrawCell(object

sender,DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs

e)

{

if

(e.Column.FieldName

==

“数据“)

{

GridCellInfo

GridCellInfo

=

e.Cell

as

GridCellInfo;

if

(GridCellInfo.IsDataCell

}

}

重新计算备注事件:gridView1_CalcPreviewText

代码:

[csharp]

view

plaincopyprint?

1.

private

void

gridView1_CalcPreviewText(object

sender,DevExpress.XtraGrid.Views.Grid.CalcPreviewTextEventArgs

e)

2.

{

3.

DataRow

dr

=

gridView1.GetDataRow(e.RowHandle);

4.

e.PreviewText

=

dr[“name“].ToString()

+

“:

“+

dr[“aihao“].ToString();

5.

}

private

void

gridView1_CalcPreviewText(object

sender,DevExpress.XtraGrid.Views.Grid.CalcPreviewTextEventArgs

e)

{

DataRow

dr

=

gridView1.GetDataRow(e.RowHandle);

e.PreviewText

=

dr[“name“].ToString()

+

“:

“+

dr[“aihao“].ToString();

}

注意:GridView中大多数事件我们都会并且必须用到e这个参数,我们可以从e这个参数中获取很多信息,包括单元格、列、行、表格、GridControl的信息。我们要根据事件的意义来了解这个e是单元格级别的,或是行级别的,或是列级别的等,因为我们可以获取e的层级以上的信息,层级以下的信息就不能获取了。

e中的属性都是大同小异,其中最常用的是e.RowHandle这个属性,它代表行号的意思,通过gridView1.GetDataRow(e.RowHandle)方法可以获得这一行的数据行DataRow;并以此来做很多操作。

上述我们也说过组行的RowHandle为负数,我们通过GetDataRow获取数据行是错误的,这时我们通过gridView1.GetDataRowHandleByGroupRowHandle(e.RowHandle);方法来转化,这时得到的数据行是该组的第一行数据。在此我们需特别注意。如果加入上述转换,我们选择数据时每组第一行数据就会重复,我们要做去重复处理。

皮肤设置

GridControl详解(八)菜单

菜单控件

拖入窗口中

显示如下

设置popupMenu

设置barManager

设置controller

增加菜单项

弹出配置窗口

一般菜单项设置

对应属性如下:

对应事件:

选择菜单项设置

事件同上,是否可见同上。

子菜单项设置

是否可见同上,很少去写他的点击事件,一般都写的是他的子菜单中点击事件。

编辑菜单项设置

菜单分组设置

GridControl详解(九)表格中的控件

选择完成控件后,可用+号点开ColumnEdit列,改控件的类型是RepositoryItem类型的,其相应的属性和相应的控件属性是类似的

构建数据如下:

[csharp]

view

plaincopyprint?

1.

DataTable

dt

=

new

DataTable();

2.

dt.Columns.Add(“名称“);

3.

dt.Columns.Add(“范围“);

4.

dt.Columns.Add(“小区总数“);

5.

dt.Columns.Add(“类型“);

6.

dt.Columns.Add(“子类型“);

7.

dt.Columns.Add(“子片区数量“);

8.

dt.Columns.Add(“责任人“);

9.

dt.Columns.Add(“编号“);

10.

dt.Columns.Add(“选择“);

11.

12.

dt.Rows.Add(new

object[]

{

“片区1“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“1“,“0“});

13.

dt.Rows.Add(new

object[]

{

“片区2“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“2“,“0“});

14.

dt.Rows.Add(new

object[]

{

“片区3“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“3“,“1“});

15.

dt.Rows.Add(new

object[]

{

“片区4“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“4“,“1“});

16.

dt.Rows.Add(new

object[]

{

“片区5“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“5“,“0“});

17.

dt.Rows.Add(new

object[]

{

“片区6“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“6“,“1“});

18.

dt.Rows.Add(new

object[]

{

“片区7“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“7“,“1“});

19.

dt.Rows.Add(new

object[]

{

“片区8“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“8“,“0“});

20.

dt.Rows.Add(new

object[]

{

“片区9“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“9“,“0“});

21.

dt.Rows.Add(new

object[]

{

“片区10“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“10“,“1“});

22.

dt.Rows.Add(new

object[]

{

“片区11“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“11“,“1“});

23.

dt.Rows.Add(new

object[]

{

“片区12“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“12“,“0“});

24.

25.

gridControl1.DataSource

=

dt;

DataTable

dt

=

new

DataTable();

dt.Columns.Add(“名称“);

dt.Columns.Add(“范围“);

dt.Columns.Add(“小区总数“);

dt.Columns.Add(“类型“);

dt.Columns.Add(“子类型“);

dt.Columns.Add(“子片区数量“);

dt.Columns.Add(“责任人“);

dt.Columns.Add(“编号“);

dt.Columns.Add(“选择“);

dt.Rows.Add(new

object[]

{

“片区1“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“1“,“0“});

dt.Rows.Add(new

object[]

{

“片区2“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“2“,“0“});

dt.Rows.Add(new

object[]

{

“片区3“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“3“,“1“});

dt.Rows.Add(new

object[]

{

“片区4“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“4“,“1“});

dt.Rows.Add(new

object[]

{

“片区5“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“5“,“0“});

dt.Rows.Add(new

object[]

{

“片区6“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“6“,“1“});

dt.Rows.Add(new

object[]

{

“片区7“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“7“,“1“});

dt.Rows.Add(new

object[]

{

“片区8“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“8“,“0“});

dt.Rows.Add(new

object[]

{

“片区9“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“9“,“0“});

dt.Rows.Add(new

object[]

{

“片区10“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“10“,“1“});

dt.Rows.Add(new

object[]

{

“片区11“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“11“,“1“});

dt.Rows.Add(new

object[]

{

“片区12“,“范围“,“5“,“线“,“普通公路“,“5“,“qiangfei“,“12“,“0“});

gridControl1.DataSource

=

dt;

注意:我们表格中【选择】一列的值是字符串型,那么表格中设置的类型也必须是字符串型。类型必须统一。

结果呈现:

必要设置:【编辑】属性

我们如果添加了选择框列,肯定要对选择列可用进行点击选中的操作,所以我们必须先打开表格的可编辑状态。

但是这样每一列都可以编辑,所以要关闭其他列的可编辑状态。

这样我们就可以操作选择列,而其他列不可编辑。

由此我们可以看出gridview上的Editable属性控制大于列的AllowEdit属性。

进阶:

当我们点击某一行的选择列checkbox控件是,其绑定的值也会发生变化,联动其datatable中的值也会发生变化,即选中时,datatable对应的值会变成1;未选中时,其值为0。那么我们可以通过如下代码获取选中的所有信息;

DataRow[]

drs

=

dt.Select(“选择=

1

“);

GridControl详解(十)Ba

TAG标签: