DevGridControl中GridView排序問題


在對表格數據源為字符串類型的列排序時,為了實現按照值大小進行排序,需要進行以下處理:

先設置該列SortMode屬性為自定義屬性
gridColumn1.SortMode = DevExpress.XtraGrid.ColumnSortMode.Custom;

然后在事件CustomColumnSort中實現

        void gdv_CustomColumnSort(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnSortEventArgs e)
        {
            if (e.Column != null && e.Value1 != null && e.Value2 != null)
            {
                string value1 = e.Value1.ToString();
                string value2 = e.Value2.ToString();
                int result = Comparer.Default.Compare
                    (ConvertToDecimal(value1, e.SortOrder), ConvertToDecimal(value2, e.SortOrder));
                e.Result = result;
                e.Handled = true;
            }
        }

        private decimal ConvertToDecimal(string input, DevExpress.Data.ColumnSortOrder sortOrder)
        {
            decimal result = 0;
            if (string.IsNullOrWhiteSpace(input) || input.Equals("**") || input.Equals("--"))
                result = sortOrder == DevExpress.Data.ColumnSortOrder.Ascending ? 9999 : -9999;
            else
                decimal.TryParse(input, out result);
            return result;
        }
 
相關問題:
 1)某一列根據int類型值對應顯示圖片,但是在排序時並不是按照int值排序。
 設置該列的SortMode屬性為按照值排序
gridColumn1.SortMode = DevExpress.XtraGrid.ColumnSortMode.Value;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM