翻譯|使用教程|編輯:龔雪|2024-09-04 11:09:40.467|閱讀 112 次
概述:本文主要介紹如何解決使用DevExpress WPF的網(wǎng)格控件進(jìn)行排序和過濾操作時(shí)遇到的常見問題,歡迎下載最新版組件體驗(yàn)!
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
DevExpress WPF擁有120+個(gè)控件和庫,將幫助您交付滿足甚至超出企業(yè)需求的高性能業(yè)務(wù)應(yīng)用程序。通過DevExpress WPF能創(chuàng)建有著強(qiáng)大互動(dòng)功能的XAML基礎(chǔ)應(yīng)用程序,這些應(yīng)用程序?qū)W⒂诋?dāng)代客戶的需求和構(gòu)建未來新一代支持觸摸的解決方案。 無論是Office辦公軟件的衍伸產(chǎn)品,還是以數(shù)據(jù)為中心的商業(yè)智能產(chǎn)品,都能通過DevExpress WPF控件來實(shí)現(xiàn)。
接下來將介紹如何解決DevExpress GridControl中排序和過濾操作最常見的問題。
DevExpress技術(shù)交流群10:532598169 歡迎一起進(jìn)群討論
如果在DevExpress GridControl中排序或過濾不起作用,請檢查以下可能導(dǎo)致的原因。
問題
DevExpress WPF GridControl可以對(duì)支持比較操作符的類型進(jìn)行排序和過濾,這意味著支持在網(wǎng)格單元格中顯示的大多數(shù)類型,一些示例是int, string, DateTime和decimal。
另一方面,DevExpress GridControl不能比較復(fù)雜的或自定義類型(如MyClass),除非您覆蓋該類型的比較操作符。
解決方案
使用以下解決方案當(dāng)中的一個(gè):
XAML
<dxg:GridColumn FieldName="Customer.Name"/>
使用Bands在一個(gè)標(biāo)題下顯示多個(gè)嵌套屬性。
問題
DevExpress GridControl不能比較集合,對(duì)綁定到集合類型的列禁用排序。
解決方案
確保列綁定到數(shù)據(jù)源字段。
使用以下解決方案當(dāng)中的一個(gè):
問題
如果列使用屬性獲取數(shù)據(jù),DevExpress GridControl將檢查第一行以確定屬性類型。如果第一行中的字段值為空,則DevExpress GridControl無法生成屬性描述符。
如果列使用屬性并且綁定的屬性類型是object,則可能出現(xiàn)類似的問題。
解決方案
要讓DevExpress GridControl知道實(shí)際的列類型,可以設(shè)置屬性。如果使用屬性綁定列,請使用綁定,然后設(shè)置UnboundDataType。
XAML
xmlns:sys="clr-namespace:System;assembly=mscorlib"
<dxg:GridColumn Binding="{Binding SomeProperty, Mode=TwoWay}" UnboundDataType="{x:Type sys:String}"/>
問題
使用或填充值的未綁定列不能在服務(wù)器模式下排序或過濾。
解決方案
使用屬性填充列。
注意:使用屬性填充的列將作為未綁定處理,因?yàn)榻壎梢园远x轉(zhuǎn)換器。
問題
如果使用虛擬源,則排序和過濾不起作用。
解決方案
要在虛擬源中啟用排序和過濾,請按照下面幫助主題中描述的步驟操作:
問題
DevExpress GridControl將數(shù)值作為字符串進(jìn)行排序和過濾,發(fā)生此操作是因?yàn)楸辉O(shè)置為DisplayText。
解決方案
將設(shè)置為Value。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都網(wǎng)