C#DevExpressgridview字符串排序
我们经常遇到这样的问题,字符串无法按数字排序。 首先,我们需要点击“Run Designer"
选择Columns 选择具体列,设置属性中,SortMode为Custom
然后,编写两个函数。 第一个:选中gridview,添加CustomColumnSort事件。
private void gridView_newsaving_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;
}
}
添加ConvertToDecimal函数
//字符串排序 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 ? 99999999 : -99999999;
else
decimal.TryParse(input, out result);
return result;
}
以上是 C#DevExpressgridview字符串排序 的全部内容, 来源链接: utcz.com/z/519145.html