Старый MVC Telerik Grid.Изменить значения с кнопки - PullRequest
0 голосов
/ 24 сентября 2018

У меня есть сетка telerik (t-grid, а не kendo или rad).Я должен обновить все значения столбца со стороны клиента.

Я спрашиваю значение из всплывающего окна, а затем перебираю сетку, чтобы обновить его.Но я что-то упускаю, потому что когда я нажимаю сохранить, я теряю значение.НО, если я обновлю вручную даже другую ячейку, то получу сохраненное значение.

Какой-то код:

JS, который обновляет сетку:

function OKButton() 
{

    var datepicker = $("#nuovaSpesa").val();

    // Lato dati
    var grid = $("#ZNOTASPESE_T").data("tGrid")
    var data = grid.data;

    // Lato struttura
    var tables = document.getElementsByName('ZNOTASPESE_T_Table');
    var rows = tables[0].getElementsByTagName('tr');

    //Ciclo
    if(data != null) 
    { // will be null if grid hasn't bound yet
        var rowCount = data.length;
        for(var i=0; i<rowCount; i++)
        {

            //Update the grid value
            data[i].D_REG = datepicker;

            //Structure: mark the cell as dirty
            rows[i+1].cells[5].innerHTML = "<span class='t-dirty'></span>" + datepicker;

            //(Ajax Binding) How to mark the rows as "

    CloseDialog();

}

Этовызов контроллера с помощью кнопки сохранения:

   [AcceptVerbs(HttpVerbs.Post)]        
    [GridAction]
    public ActionResult update_ZNOTASPESE_T([Bind(Prefix = "updated")]IEnumerable<SAP_ZNOTASPESE_T> updatedRows, object model, string company)
    {
        NSDataContext nsDB = new NSDataContext();
        if (updatedRows != null)
        {               
            foreach (var row in updatedRows)
            {
                var target = nsDB.SAP_ZNOTASPESE_T.Single(p => p.PROG == row.PROG);
                if (target != null)
                {
                    target.D_DOC = row.D_DOC;
                    target.T_DOC = row.T_DOC;
                    target.SOC = row.SOC;
                    target.D_REG = row.D_REG;
                    target.RIFER = row.RIFER;

                    nsDB.SubmitChanges();                        
                }
            }
        }
        ViewData["company"] = company;
        var ids = ((string[])model)[0].Split(',');
        return View(new GridModel(nsDB.SAP_ZNOTASPESE_T.Where(n => ids.Contains(n.ID_NS.ToString()))));
    }

Я полагаю, что материнский находится в этом: [Bind (Prefix = "updated")].Как установить строку как «обновленную».

Заранее спасибо !!!

Кристиан

...