Telerik Grid MVC2 Вставка дочерних записей во вложенную сетку - PullRequest
0 голосов
/ 01 декабря 2010

Основная сетка - это Клиенты, а Детальная сетка - это Заказы клиентов. Используя EditorTemplate, у меня отлично работает Модель для обновлений, но когда дело доходит до вставки новых записей, я в растерянности.

CustomerId не передается, как я вижу, в UserControl. Таким образом, новые Заказы создаются с CustomerId 0.

Таблица Orders имеет уникальный ключ для CustomerId и Order #, а OrdersId является первичным. Мне нужно создать новую запись о заказе клиента, указав номер заказа, но в форме необходимо указать номер клиента.

Я явно что-то упускаю и, конечно, не вижу никакой помощи на сайте Telerik, когда дело доходит до их сетки и MVC.

Любая помощь будет принята с благодарностью!

Ответы [ 2 ]

0 голосов
/ 22 декабря 2010

Идентификатор записи всегда возвращается как "id" и должен кодироваться таким образом.

[GridAction]
public ActionResult _SaveMasterTable(int id) {
    using (DataContext dc = new DataContext()) {
        MasterTable model = dc.MasterTables.SingleOrDefault(
            e => (e.MasterId == id)
        );e

В случае, указанном выше, основная запись будет обновлена.Для дочерних записей возвращаемым идентификатором записи является master ..., позволяющий вставить новую запись с master id.

0 голосов
/ 01 декабря 2010

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

...