天天看點

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>

繼續閱讀