標籤:style blog class code tar ext
原文: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來實現該功能,參考代碼如下:
| |
<dxpg:PivotGridField Name="fieldQuantity"FieldName="Quantity"Area="DataArea"CellFormat="{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、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 是用來顯示“欄位選擇面板”的。<br/>關於您的所描述的"自訂計算成員"的問題您可以通過 Unbound Field 來實現,參考連結:
http://documentation.devexpress.com/#WPF/CustomDocument8025不過遺憾的是,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、如何綁定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> |