天天看点

10个devexpress ASPxPivotGrid常见问题

原文:

1、dxperience

aspxgridview如何开启lightweight模式

描述:aspxgridview样式主题中page render mode选项里面有

lightweight模式,要如何开启此模式?

解答:目前aspxgridview控件本身不支持lightweight模式,目前支持的控件包括:aspxmenu

aspxnavbar,aspxpager,aspxpagecontrol,aspxpopupcontrol,aspxpopupmenu,aspxtabcontrol。

2、gridcontrol的数据和数据源打印之后不同步

描述:frmtest、gridcontrol1、gridview1、dtview、dtview为

gridcontrol1的数据源。数据源是根据dtview按照一定规则重新生成的

datatable,xtrareport.showpreviewdialog()打印之后frmtest的数据是没有清空的,gridview可以继续编辑和打印报表。问题就是:打印一次之后gridview可以再次编辑,但是绑定的数据源dtview就一直和打印之前是一样的效果,也就是

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

解答:gridcontrol是不支持自动保存数据到数据库的,所以请使用gridview.rowupdated

事件,并通过代码将更改的数据保存到数据源。

3、dxperience

pivotgridcontrol设置的数据类型不为空

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

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

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

4、dxperience

pivotgridfield自定义格式化方法

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

2011(万吨),2012(万吨)

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

<code>&lt;dxpg:pivotgridfield name=</code><code>"fieldquantity"</code><code>fieldname=</code><code>"quantity"</code><code>area=</code><code>"dataarea"</code><code>cellformat=</code><code>"{0}(万吨)"</code><code>/&gt;</code>

5、devexpress

gridview选中行字体加粗问题

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

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

<code>font font =</code><code>new</code> <code>system.drawing.font(</code><code>""</code><code>, 10, fontstyle.regular);</code>

<code>gridview1.appearance.focusedrow.font = font;   </code>

6、devexpress

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

描述:代码如下

<code>&lt;dx:gridviewcommandcolumn visibleindex=</code><code>"7"</code><code>&gt;</code>

<code>        </code><code>&lt;editbutton visible=</code><code>"true"</code> <code>text=</code><code>"编辑"</code><code>&gt;</code>

<code>        </code><code>&lt;/editbutton&gt;</code>

<code>        </code><code>&lt;deletebutton visible=</code><code>"true"</code><code>text=</code><code>"删除"</code><code>&gt;</code>

<code>        </code><code>&lt;/deletebutton&gt;</code>

<code>        </code><code>&lt;clearfilterbutton visible=</code><code>"true"</code><code>&gt;</code>

<code>        </code><code>&lt;/clearfilterbutton&gt;</code>

<code>&lt;/dx:gridviewcommandcolumn&gt;</code>

解答:要将gridview删除按钮改为普通button样式,可通过gridviewcommandcolumn.buttontype

属性进行设置。

7、dxperience多线程下访问xtragrid实例安全吗

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

解答:dxperience可视控件只有三个方法是线程安全的:creategraphics,invoke和begininvoke。xtragrid的方法应通过begininvoke调用其他的线程。

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

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

解答:设置propertiescheckedit-valuechecked="y"

propertiescheckedit-valueunchecked="n"

8、如何在dxperience

dxpivotgrid控件上增加一列百分比

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

解答:showfieldlist/hidefieldlist

是用来显示“字段选择面板”的。&lt;br/&gt;关于您的所描述的"自定义计算成员"的问题您可以通过 unbound field 来实现,参考链接:

不过遗憾的是,olap

模式下无法使用该方式,因此在该模式下,您需要在 olap 服务器端定义自定义计算成员。

9、dxperience xtragrid如何清除网格

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

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

<code>[c#]</code>

<code>gridcontrol1.datasource =</code><code>null</code><code>;</code>

<code>gridview1.columns.clear();</code>

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

<code>using</code>

<code>devexpress.xtragrid.views.grid;</code>

<code>object</code>

<code>ds;</code>

<code>// clear</code>

<code>ds = gridcontrol1.datasource;</code>

<code>gridview view =</code><code>new</code> <code>gridview(gridcontrol1);</code>

<code>view.optionsview.showgrouppanel =</code><code>false</code><code>;</code>

<code>view.optionsview.showcolumnheaders =</code><code>false</code><code>;</code>

<code>gridcontrol1.mainview = view;</code>

<code>// restore</code>

<code>gridcontrol1.mainview = gridview1;</code>

<code>gridcontrol1.datasource = ds;</code>

10、如何绑定devexpress

gridview的checkbox列中的数据源

描述:在gridview添加了gridviewdatacheckcolumn列,然后绑定了数据源,对应的字段

locked,该字段在数据库中存的是string类型的值,如"y","n",我想页面根据这个值来显示checkbox的选中情况,如“y”表示选中,“n”就不选中,怎么实现?

我的前台代码是:

<code>&lt;dx:gridviewdatacheckcolumn fieldname=</code><code>"locked"</code><code>visibleindex=</code><code>"3"</code><code>caption=</code><code>"已锁定"</code>  <code>propertiescheckedit-displaytextchecked=</code><code>"是"</code><code>propertiescheckedit-displaytextunchecked=</code><code>"否"</code><code>&gt;</code>

<code>&lt;/dx:gridviewdatacheckcolumn&gt;</code>

继续阅读