syncfusion ejtreegrid修改新添加的节点

时间:2016-11-21 16:14:09

标签: javascript ajax syncfusion

我正在使用ejtreegrid来显示和编辑我的分层数据。 我也使用actionComplete事件将数据发送到我的asp.net控制器来保存数据。 这里是我的控制器的代码:

  public int AddFamille(string DESIGNATION)
        {


            FAMILLE f = new FAMILLE()
            {

                FA_DESIGNATION = DESIGNATION,
                FA_ID_PARENT = 1};
                ctx.FAMILLES.Add(f);
                ctx.SaveChanges();

            return f.ID_FAMILLE;
        }

它会返回新添加的实体的 ID ,我已经检查过了,这没关系。

在客户端这里是ajax调用

function OnactionComplete(args) {
  if (args.requestType == "addNewRow") {
                    var item = args.addedRow;

                    $.ajax({
                        type: "POST",
                        url: '/Admin/AddFamille?`DESIGNATION='+item.DESIGNATION,`

                        success: function (data) {
                            args.addedRow.ID= data;
                        }
                    });
                }
}

正如您所看到的,我正在尝试使用来自服务器的新ID替换添加的项ID,但不幸的是它没有效果。

欢迎任何想法。 感谢

1 个答案:

答案 0 :(得分:0)

通过使用“refreshRow”公共方法,我们可以刷新TreeGrid中的特定行。

请找到以下代码示例:

function actionComplete(eventArgs) {          
        var treeObj = this,
            //To get the index of newly added row
            addedRow = treeObj.model.selectedItem;
        if (eventArgs.requestType === 'addNewRow') {                
            //Newly Added Record is obtained here , which can be updated to database
            var addedRecord = eventArgs.addedRow;
            $.ajax({
                type: "POST",
                data: { Name: addedRecord.TaskName },
                dataType: "json",                   
                url: "/TreeGrid/Add",//Add is Server side method
                success: function (result) {                       
                    addedRow.TaskId = addedRow.item.TaskId = result;
                    //To refresh the newly added row
                    treeObj.refreshRow(treeObj.model.updatedRecords.indexOf(addedRow));
                },
            });
        }
    }

请从以下位置找到样本

Sample

此致

Syncfusion团队