GridView中的日期排序無法正常工作。GridView中的日期排序問題
字段名:Lossdate 數據類型:爲nvarchar(255)
在SQL中,數據類型爲nvarchar的,因爲日期欄也有一些格式的字符串值 (如:A90317,A00921這樣)
雖然從數據庫中檢索數據,將數據轉換爲日期格式並將其綁定到網格中。
SELECT name,location,convert(date,lossdate, 101) as LossDate from valuation
我預期的結果會是這樣
NULL
NULL
NULL
A90118
A90317
A00921
2004-05-27
2004-10-26
2010-07-14
2010-10-05
2011-04-07
null
應該是第一位的,
格式化字符串日期格式次之,
正確的日期格式應該來在明年排序方式
在gridview中,損失日期是這樣
<asp:BoundField DataField="LossDate" HeaderText="Loss Date" SortExpression="LossDate"
dataformatstring="{0:MM/dd/yyyy}" />
請幫我解決這個
嘗試編碼使用ORDER BY子句。 –
您的問題是應該是日期的字段的雙重用法,請先嚐試修復。否則,它正確地被排序爲一個字符串,數字在字母之前。如果你不喜歡,你將不得不編寫自己的排序。 – BlackICE
也是如此,除非實際存儲unicode不使用nvarchar數據類型,並且更適當地調整列的大小,從您提供的數據看起來有點大。 – BlackICE