我在XtraGrid中有一列顯示自插入記錄以來的時間。我在服務器上計算這個值,並以字符串形式返回時間。按時間排序正確排序
的問題是,它不是正確排序,請參閱圖像9天如何更多的則是23天...
任何想法如何使它的方式排序會更好地工作?
我在XtraGrid中有一列顯示自插入記錄以來的時間。我在服務器上計算這個值,並以字符串形式返回時間。按時間排序正確排序
的問題是,它不是正確排序,請參閱圖像9天如何更多的則是23天...
任何想法如何使它的方式排序會更好地工作?
解決此問題的一種方法是將數據庫中的值作爲int64存儲爲Ticks,因此您可以在服務器端進行排序,然後在應用程序端從Ticks創建TimeSpans,然後您可以處理CustomColumnDisplayText可以根據需要顯示它,確保將列設置爲按值排序而不是DisplayText。
例
在你的GridView的地方
TimeSpan span = TimeSpan.FromTicks(e.Value);
e.DisplayText = string.Format("{0} days {1} hours {2} minutes", span.Days, span.Hours, span.Minutes);
您CustomDisplayText事件在單元格的值只是文字?數據綁定了嗎?看起來它按字母順序排序給我。如果支持值是一個真正的DateTime,它將使用它來排序。 –
這些值最初是字符串還是可能TimeSpans? –
目前我計算在服務器上,在網格中傳遞一個長字符串。 – Ezi