0
Grid.MVC排序不按預期工作。例如,我有一個包含數字值和日期值的列。提供的屏幕截圖僅顯示Total Premium排序不正常,但同樣的情況也發生在生效日期列上。有什麼額外的我需要做些什麼來告訴它一個數字或日期,因此它排序正確?Grid.MVC排序錯誤
@Html.Grid(Model.SearchResult).Named("searchGrid").Columns(col =>
{
col.Add(c => c.PolicyNumber).Titled("Number").Sortable(true);
col.Add(c => c.FormattedInsuredName).Titled("Insured Name").Sortable(true);
col.Add(c => c.FormattedAddress).RenderValueAs(m => Html.Raw(m.FormattedAddress)).Encoded(false).Sanitized(false).Titled("Property Address").Sortable(true);
col.Add(c => c.Status).Titled("Status").Sortable(true);
col.Add(c => c.FormattedEffectiveDate).Titled("Effective Date").Sortable(true);
col.Add(c => c.FormattedTotalPremium).Titled("Total Premium").Sortable(true);
col.Add().Encoded(false).SetWidth(150).Sanitized(false).Titled("Action").RenderValueAs(dd => Html.DropDownList("ddlAction", dd.DropDownActions, new { @class = "form-control ddlAction", @data_viewquote = dd.QuoteURL }));
}).WithPaging(25).Sortable(true)
從下面的屏幕截圖中可以看到Total Premium列的排序錯誤。有ASC和DESC的屏幕截圖。
它看起來像你排序他們作爲字符串,而不是整數;它們按字母排序,這就是爲什麼1226會在223之前出現。在排序之前,您需要將它們轉換爲整數。我對此沒有提供確切的方法表示歉意,我對MVC不是很熟悉 - 只是認爲這會讓你指向正確的方向。 – Santi
只是爲了評論我以前的評論,同樣的日期。你需要將它們轉換爲它們各自的類型。 – Santi
那很簡單。這些列正在被格式化爲來自其初始類型的字符串。明白了,它現在排序正確。感謝您的評論。 –