2011-02-07 60 views
1

我有一個Telerik mvc網格。我正在嘗試排序工作。我將我的網格綁定到模型集合。該模型的字段名稱與數據層名稱不同。
當我點擊排序按鈕時,網格將排序列名稱作爲我綁定模型的屬性名稱。我想將其設置爲不同的名稱,以使其與我的數據訪問層相匹配。我之前通過向指定相關數據庫字段名稱的模型屬性添加屬性來完成此操作。 Telerik的網格中有類似的東西嗎?
我試過 [Column(Name =「Myname」)]Telerik mvc網格,型號字段到db字段名稱關係

但這似乎被忽略。
我不想以任何方式配置網格來知道這些名稱。 UI層不應該知道數據庫層的字段名稱。有什麼方法可以在我的模型中設置?

回答

1

我不知道我是否明白你想要做什麼。示例代碼可能會有所幫助。這就是說我會盡力回答你的問題。您可以覆蓋控制器上用於對Telerik網格進行排序的方法中的名稱。我有同樣的情況,我沒有排序問題。我將網格直接綁定到模型,並且根本不訪問數據訪問邏輯。 telerik網格使用Linq,因此它應該對你的集合進行排序,而不必重新連接到數據訪問邏輯。我在我的Telerik網格上進行排序時包含了一個控制器方法的示例。 Orderbll.GetAll返回一組訂單。

[GridAction] 
    public ActionResult AjaxIndex() 
    { 
     // Get all of the orders 
     return View(new GridModel(orderBll.GetAll())); 
    } 
+1

我的數據集太大加載,然後排序在服務器上。我必須對數據進行sql排序,然後爲我提供第一頁 – Andrey 2011-03-07 20:45:35

0

據我所知,你的模型就是你正在查詢的內容,應該是一致的,以便你可以查詢數據庫。如果你想在你的網格列的標題不同的文字,你可以綁定列時做與Title()方法:

.Columns(columns => 
{ 
    columns.Bound(a => a.Surname).Title("Family name"); 
....