Skip to main content
A newer version of this page is available. .

DiagramExtension.GetBatchUpdateResult<TNode, TKey>(MVCxDiagramNodeUpdateValues<TNode, TKey>) Method

Returns the specified result to the client side after processing a callback in an action specified by the BatchUpdateRouteValues property.

Namespace: DevExpress.Web.Mvc

Assembly: DevExpress.Web.Mvc5.v19.2.dll

Declaration

public static ActionResult GetBatchUpdateResult<TNode, TKey>(
    MVCxDiagramNodeUpdateValues<TNode, TKey> nodeUpdateValues
)
    where TNode : new()

Parameters

Name Type Description
nodeUpdateValues MVCxDiagramNodeUpdateValues<TNode, TKey>

An object that stores information about updated diagram nodes.

Type Parameters

Name Description
TNode

The type of node.

TKey

The type of node key.

Returns

Type Description
ActionResult

The result of an action method.

Remarks

@Html.DevExpress().Diagram(settings => {
    settings.Name = "Diagram";

    settings.BatchUpdateRouteValues = new { Controller = "DataBinding", Action = "LinearUpdate" };

    settings.Mappings.Node.Key = "ID";
    settings.Mappings.Node.ParentKey = "ParentID";
    settings.Mappings.Node.Text = "DepartmentName";

    settings.SettingsAutoLayout.Type = DevExpress.Web.ASPxDiagram.DiagramAutoLayout.Tree;

}).Bind(Model).GetHtml()
public ActionResult LinearUpdate(MVCxDiagramNodeUpdateValues<EditableDepartment, int> nodeUpdateValues) {
    foreach(var item in nodeUpdateValues.Update)
        DepartmentProvider.Update(item);
    foreach(var itemKey in nodeUpdateValues.DeleteKeys)
        DepartmentProvider.Delete(itemKey);
    foreach(var item in nodeUpdateValues.Insert) {
        var insertedItem = DepartmentProvider.Insert(item);
        nodeUpdateValues.MapInsertedItemKey(item, insertedItem.ID);
    }
    return DiagramExtension.GetBatchUpdateResult(nodeUpdateValues);
}

Online Demo

Diagram - Tree from Linear Data Structure

See Also