2011-02-07 57 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"); 
....