彩票走势图

DXperience GridControl网格控件常见问题(FAQ)

原创|其它|编辑:郝浩|2013-01-23 12:51:38.000|阅读 1136 次

概述:DXperience下有5个Grid网格控件:ASPxGridView、ASPxPivotGrid、XtraGrid、XtraPivotGrid、XtraVerticalGrid。本文总结了这几个DXperience GridControl网格控件的常见问题(FAQ)。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

网格控件(GridControl)是DevExpress下最强大的控件之一,它以网格的形式显示和浏览数据,可实现多表头、排序、过滤分组等功能。DXperience下有这几个Grid控件:ASPxGridViewASPxPivotGridXtraGridXtraPivotGridXtraVerticalGrid。鉴于经常有人在网上询问gridcontrol的问题,下面我将这几个DXperience gridcontrol网格控件常见问题(FAQ)进行了汇总:

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

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

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

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(万吨)

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

<dxpg:PivotGridField Name="fieldQuantity" FieldName="Quantity" Area="DataArea" CellFormat="{0}(万吨)" />

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

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

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

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

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

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

Font font = new System.Drawing.Font("", 10, FontStyle.Regular);
gridView1.Appearance.FocusedRow.Font = font;	

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

描述:代码如下

<dx:GridViewCommandColumn VisibleIndex="7">
        <EditButton Visible="True"  Text="编辑">
        </EditButton>
        <DeleteButton Visible="True" Text="删除">
        </DeleteButton>
        <ClearFilterButton Visible="True" >
        </ClearFilterButton>
</dx:GridViewCommandColumn>

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

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

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

<dx:GridViewDataCheckColumn FieldName="Locked" VisibleIndex="3" Caption="已锁定"   PropertiesCheckEdit-DisplayTextChecked="是" PropertiesCheckEdit-DisplayTextUnchecked="否">
</dx:GridViewDataCheckColumn>

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

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

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

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

解答:ShowFieldList/HideFieldList 是用来显示“字段选择面板”的。<br/>关于您的所描述的"自定义计算成员"的问题您可以通过 Unbound Field 来实现,参考链接:
不过遗憾的是,OLAP 模式下无法使用该方式,因此在该模式下,您需要在 OLAP 服务器端定义自定义计算成员。

9、DXperience XtraGrid如何清除网格

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

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

[C#]
gridControl1.DataSource = null;
gridView1.Columns.Clear();

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

[C#]
using DevExpress.XtraGrid.Views.Grid;
object ds;
// clear
ds = gridControl1.DataSource;
gridControl1.DataSource = null;
GridView view = new GridView(gridControl1);
view.OptionsView.ShowGroupPanel = false;
view.OptionsView.ShowColumnHeaders = false;
gridControl1.MainView = view;
// restore
gridControl1.MainView = gridView1;
gridControl1.DataSource = ds;

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

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

解答:DXperience可视控件只有三个方法是线程安全的:CreateGraphics,Invoke和BeginInvoke。XtraGrid的方法应通过BeginInvoke调用其他的线程。
应用程序可以在不同线程的XtraGrid创建多个实例形式。在这种情况下不应该有任何问题:网格控件在不同的线程形式下正确访问共享资源。


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:慧都控件

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP