DiagramExtension.GetBatchUpdateResult<TNode, TKey>(MVCxDiagramNodeUpdateValues<TNode, TKey>) Method
In This Article
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.v24.2.dll
NuGet Package: DevExpress.Web.Mvc5
#Declaration
public static ActionResult GetBatchUpdateResult<TNode, TKey>(
MVCxDiagramNodeUpdateValues<TNode, TKey> nodeUpdateValues
)
where TNode : new()
#Parameters
Name | Type | Description |
---|---|---|
node |
MVCx |
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 |
---|---|
Action |
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);
}
See Also