Telerik mvc grid, отношение поля модели к имени поля базы данных - PullRequest
1 голос
/ 08 февраля 2011

У меня есть сетка Telerik mvc.Я пытаюсь заставить сортировку работать.Я привязываю свою сетку к коллекции моделей.Модель имеет разные имена полей, чем слой данных.
Когда я нажимаю кнопку сортировки, сетка передает имя столбца сортировки в качестве имени свойства для модели, к которой я привязываю.Я хочу установить другое имя, чтобы оно совпадало с моим уровнем доступа к данным.Я сделал это ранее, добавив атрибут к свойствам модели, которые определяют имена полей связанных баз данных.Есть ли что-то похожее в сетке Telerik?
Я пробовал [Column (Name = "Myname")]

, но это, кажется, игнорируется.
Я не хочу настраивать сетку в любомспособ узнать эти имена.Уровень пользовательского интерфейса не должен знать имена полей уровня DB.Можно ли как-то настроить это в моей модели?

Ответы [ 2 ]

1 голос
/ 05 марта 2011

Я не уверен, понимаю ли я, что вы пытаетесь сделать.Пример кода, вероятно, поможет.При этом я постараюсь ответить на ваш вопрос.Вы можете переопределить имя в методе на контроллере, который вы используете для сортировки сетки Telerik.У меня такая же ситуация, и у меня нет проблем с сортировкой.Я привязываю сетку непосредственно к модели, и она вообще не обращается к логике доступа к данным.Сетка Telerik использует Linq, поэтому она должна просто выполнить сортировку вашей коллекции и не подключаться к логике доступа к данным.Я включил пример метода контроллера, который я вызываю при выполнении сортировки в моей сетке Telerik.Orderbll.GetAll возвращает коллекцию заказов.

[GridAction]
    public ActionResult AjaxIndex()
    {
        // Get all of the orders
        return View(new GridModel(orderBll.GetAll()));
    }
0 голосов
/ 04 марта 2013

Насколько я понимаю, ваша модель - это то, что вы запрашиваете, и она должна быть согласованной, чтобы вы могли запрашивать базу данных. Если вам нужен другой текст в заголовках столбцов сетки, вы можете сделать это с помощью метода Title() при привязке столбца:

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