Your search did not match any results.

Diagram - Item Selection

The onSelectionChanged function is executed after the selection is changed and allows you to access information about the selected items. In this demo, the function fetches selected shape information and displays it under the Diagram component.

The onContentReady function is handled to find the 'Greta Sims' shape, select it, and scroll to it. For this purpose, the following methods are called:

Backend API
@(Html.DevExtreme().Diagram() .ID("diagram") .OnContentReady("onContentReady") .OnSelectionChanged("onSelectionChanged") .PropertiesPanel(pp => pp.Visibility(DiagramPanelVisibility.Disabled)) .Toolbox(t => t.Visibility(DiagramPanelVisibility.Disabled)) .Nodes(ns => ns .DataSource(d => d .Array() .Key("ID") .Data(Model) ) .KeyExpr("ID") .TextExpr("Full_Name") .ParentKeyExpr("Head_ID") .AutoLayout(al => al.Type(DiagramDataLayoutType.Tree)) ) ) <div class="selected-data"> <span class="caption">Selected Items:</span> <span id="selected-items-container">Nobody has been selected</span> </div> <script type="text/javascript"> function onContentReady(e) { var diagram = e.component; // preselect some shape var items = diagram.getItems().filter(function (item) { return item.itemType === "shape" && (item.dataItem.Full_Name === "Greta Sims"); }); if (items.length > 0) { diagram.setSelectedItems(items); diagram.scrollToItem(items[0]); diagram.focus(); } } function onSelectionChanged(e) { var items = e.items .filter(function(item) { return item.itemType === "shape"; }) .map(function(item) { return item.dataItem.Full_Name; }); if(items.length > 0) $("#selected-items-container").text(items.join(", ")); else $("#selected-items-container").text("Nobody has been selected"); } </script>
using System.Web.Mvc; using DevExtreme.MVC.Demos.Models.SampleData; namespace DevExtreme.MVC.Demos.Controllers { public class DiagramController : Controller { public ActionResult ItemSelection() { return View(SampleData.OrgItemsPlain); } } }
#diagram { height: 600px; } .selected-data { margin-top: 20px; padding: 20px; background-color: rgba(191, 191, 191, 0.15); } .selected-data .caption { font-weight: bold; font-size: 115%; }