2024年2月24日发(作者:)

GridControl网格控件常见问题

1、GridControl的数据和数据源打印之后不同步

描述:frmTest、gridcontrol1、gridview1、dtView、dtview为 gridcontrol1的数据源。数据源是根据dtview按照一定规则重新生成的 datatable,eviewdialog()打印之后frmtest的数据是没有清空的,gridview可以继 续编辑和打印报表。问题就是:打印一次之后gridview可以再次编辑,但是绑定的数据源dtview就一直和打印之前是一样的效果,也就是

gridcontrol的数据和数据源不同步了。

解答:GridControl是不支持自动保存数据到数据库的,所以请使用ated 事件,并通过代码将更改的数据保存到数据源。

2、DXperience ASPxGridView如何开启lightweight模式

描述:ASPxGridView样式主题中page render mode选项里面有 lightweight模式,要如何开启此模式?

解答:目前ASPxGridView控件本身不支持Lightweight模式,目前支持的控件包 括:ASPxMenu ASPxNavBar,ASPxPager,ASPxPageControl,ASPxPopupControl,ASPxPopupMenu,ASPxTabControl。

3、DXperience PivotGridField自定义格式化方法

描述:如果PivotGridField中的值为2011,2012等数字,有没有自定义格式化的方法将2011,2012等格式化为:

2011(万吨),2012(万吨)

解答:您可以通过设置rmat来实现该功能,参考代码如下:

1

Area="DataArea" CellFormat="{0}(万吨)" />

4、Dxperience PivotGridControl设置的数据类型不为空

描述:我赋值给urce的dataset中某列的数据类型是可以为空的decimal,其中有些行是null,即使使用EmptyCellText=""显示仍然是0.00,而我要的结果是空。

解答:EmptyCellText是指当指定单元格对应的底层数据源中不包含数据,那么当前单元格就不显示任何内容,这时可通过该属性设置其显示文本,而如果您的示例中指定单元格底层数据源中有数据,但只是数据为0时,使用该属性是不起

作用。

建议您使用CellDisplayText事件来自定义当数据为0时的显示文本。

5、DevExpress GridView选中行字体加粗问题

描述:GridView外面有一个按钮,当我选中一行后,点击按钮,那行的字体加粗加黑,怎么实现?

解答:GridView选中行字体加粗,建议您使用以下代码实现:

1 Font font = new ("", 10, r);

2 = font;

6、DevExpress Gridview中有一列是删除链接按钮,怎么变为普通button样式

描述:代码如下

1

2

3

4

5

6

7

8

解答:要将GridView删除按钮改为普通button样式,可通过Type 属性进行设置。

7、如何绑定Devexpress Gridview的checkbox列中的数据源

描述:在Gridview添加了GridViewDataCheckColumn列,然后绑定了数据源,对应的字段 Locked,该字段在数据库中存的是string类型的值,如"Y","N",我想页面根据这个值来显示checkbox的选中情况,如“Y”表示选 中,“N”就不选中,怎么实现?

我的前台代码是:

1 Caption="已锁定" PropertiesCheckEdit-DisplayTextChecked="是"

2 PropertiesCheckEdit-DisplayTextUnchecked="否">

这样子总是不显示是否选中。

解答:设置PropertiesCheckEdit-ValueChecked="Y"

PropertiesCheckEdit-ValueUnchecked="N"

8、如何在DXperience DXPivotGrid控件上增加一列百分比

描述:我想在DXPivotGrid中新增加一列XX率,是第一列和第二列的百分比,在帮助上只是找见这个eldList方法,可是还不会使用。

解答:ShowFieldList/HideFieldList 是用来显示“字段选择面板”的。
关于您的所描述的"自定义计算成员"的问题您可以通过 Unbound Field 来实现,参考链接:

/#WPF/CustomDocument8025不过遗憾的是,OLAP 模式下无法使用该方式,因此在该模式下,您需要在 OLAP 服务器端定义自定义计算成员。

9、DXperience XtraGrid如何清除网格

描述:XtraGrid网格中显示了数据,在某一时刻,我需要清除网格,如何实现?

解答:你应该设置urce属性为null,并调用()方法阻止网格主视图。

1 [C#]

2 urce = null;

3 ();

如果需要恢复原来的网格视图,你可以动态地创建一个临时的空GridView,并将它分配给GridControl。

1 [C#]

2 using ;

3 object ds;

4 // clear

5 ds = urce;

6 urce = null;

7 GridView view = new GridView(gridControl1);

8 oupPanel = false;

9 lumnHeaders = false;

10 ew = view;

11 // restore

12 ew = gridView1;

13 urce = ds;

10、DXperience多线程下访问XtraGrid实例安全吗

描述:DXperience多线程可以安全地访问同一个XtraGrid的实例吗?此外,如果XtraGrid的多个实例被用于多个线程,有什么线程安全问题要注意的吗?

解答:DXperience可视控件只有三个方法是线程安全的:CreateGraphics,Invoke和BeginInvoke。XtraGrid的方法应通过BeginInvoke调用其他的线程。

应用程序可以在不同线程的XtraGrid创建多个实例形式。在这种情况下不应该有任何问题:网格控件在不同的线程形式下正确访问共享资源。

(慧都控件提供devexpress gridcontrol问题解答和中文使用手册)