Бритва - редактируемая сетка - какой подход? - PullRequest
1 голос
/ 07 июля 2011

Мне очень интересно, и я пока не знаю, что решить использовать. Поэтому я хочу иметь сетку и редактировать данные ее строки.

Я работаю с MVC3 Razor, я знаю следующие возможности: - jqGrid Razor нокаутирующая сетка Razor - я не знаю, как сделать ее редактируемой сеткой? Это вообще возможно, или это только для отображения данных. - сетка, бритва

Я не люблю использовать элементы управления Telerik! Не могли бы вы посоветовать мне, как лучше всего создать редактируемую сетку и что если мне не нужна редактируемая сетка? Зачем использовать тот или иной из способов? И все это на странице Razor.

Ответы [ 3 ]

1 голос
/ 31 марта 2015

Сетка ShieldUI также поддерживает множество режимов редактирования, сценариев и отправки обновлений локально или на любую удаленную конечную точку.

Хороший пример для начала можно найти здесь:

http://demos.shieldui.com/mvc/grid-editing/editing-restful-web-service

0 голосов
/ 07 апреля 2013

Используйте следующий код для Редактирование и То же, что и Добавить , Удалить .

Для Просмотр ,

@(Html.Telerik().Grid<CustomerOrderDetails>()
                       .Name("gvCustomerOrderDetails")
                       .DataKeys(keys => keys.Add(k => k.ItemID))
                       .Columns(column =>
                       {
                           column.Bound(i => i.ItemID).Hidden(true);
                           column.Bound(i => i.SalesSequenceNumber).Hidden(true);
                           column.Bound(i => i.ItemSequence).Hidden(true);
                           column.Bound(i => i.ItemName).Title("Item Name").ReadOnly();
                           column.Bound(i => i.Quantity).Title("Order Quantity").HtmlAttributes(new { @class = "gridTextAlignRight" });
                           column.Bound(i => i.ItemUnitPrice).HtmlAttributes(new { @class = "gridTextAlignRight" }).ReadOnly();
                           column.Bound(i => i.ItemUnitPrice).Hidden(true);
                           column.Bound(i => i.TotalPrice).HtmlAttributes(new { @class = "gridTextAlignRight" }).ReadOnly();
                           column.Command(command =>
                           {
                               command.Edit().ButtonType(GridButtonType.Image);
                           }).Width(80).Title("Commands");
                       })
                       .Selectable()
                       .DataBinding(dbBindings =>
                           {
                               dbBindings.Ajax().Select("__CustomerOrderDetailsGridBind", "CustomerInfo")
                                                .Update("__CustomerOrderDetailsUpdate", "CustomerInfo");
                           })
                       .ClientEvents(events =>
                        events.OnDataBinding("onDataBinding")
                              .OnError("onError")
                       )
                       .Scrollable(scroll => scroll.Height(300))

                 )

Для Управление Используйте следующий код,

    [AcceptVerbs(HttpVerbs.Post)]
    [GridAction]
    public ActionResult __CustomerOrderDetailsUpdate(CustomerOrderDetails objCustomerOrderDetails)
    {
        SalesItem objSalesItem = new SalesItem();
        objSalesItem.SalesSequenceNumber = objCustomerOrderDetails.SalesSequenceNumber;
        objSalesItem.ItemSequence = Convert.ToByte(objCustomerOrderDetails.ItemSequence);
        objSalesItem.ItemID = objCustomerOrderDetails.ItemID;
        objSalesItem.Quantity = objCustomerOrderDetails.Quantity;
        objSalesItem.ItemUnitPrice = objCustomerOrderDetails.ItemUnitPrice;
        objSalesItem.TotalPrice = objCustomerOrderDetails.ItemUnitPrice * objCustomerOrderDetails.Quantity;
        objSalesItem.SalesDate = DateTime.Now;
        objSalesItem.EntryBy = objLoginHelper.LogInID;
        objSalesItem.EntryDate = DateTime.Now;

        customerDal.UpdateSalesItem(objSalesItem);

        return View(new GridModel<CustomerOrderDetails>
        {
            Data = customerDal.CustomerOrderDetailsInfo(objCustomerOrderDetails.SalesSequenceNumber, Helper.Active)
        });
    }

Вы также можете использовать свой класс для конкретной модели для Добавить , Редактировать & Удалить . Здесь ReadOnly () используется для неотредактированного столбца. Если вам нужно контролировать значение столбца, используйте тот же столбец без ReadOnly () и просто Скрытый .

Я думаю, что всем нравится этот код.

0 голосов
/ 07 июля 2011

jqGrid определенно поддерживает редактирование, вы можете увидеть некоторые примеры на http://www.trirand.com/blog/jqgrid/jqgrid.html или прочитать документацию на http://www.trirand.com/jqgridwiki/doku.php?id=start

...