Skip to main content
All docs
V25.1
  • ASPxDiagram.NodeDataBound Event

    Occurs after a node has been bound to a data source.

    Namespace: DevExpress.Web.ASPxDiagram

    Assembly: DevExpress.Web.ASPxDiagram.v25.1.dll

    NuGet Package: DevExpress.Web

    Declaration

    public event DiagramNodeEventHandler NodeDataBound

    Event Data

    The NodeDataBound event's data class is DiagramNodeEventArgs. The following properties provide information specific to this event:

    Property Description
    Node Gets a node object related to the event.

    Remarks

    The NodeDataBound event is raised for each diagram node after it has been bound to the data source. This event enables you to customize settings of the node before it is finally rendered. You can access the processed node via the Node property of the event’s argument.

    <dx:ASPxDiagram ID="Diagram" runat="server" Width="100%" Height="600px"
        NodeDataSourceID="DepartmentDemoDataSource" OnNodeDataBound="Diagram_NodeDataBound" >
        <Mappings>
            <Node Key="ID" ParentKey="ParentID" Text="DepartmentName" />
        </Mappings>
        <SettingsToolbox>
            <Groups>
                <dx:DiagramToolboxGroup CustomCategoryName="Departments" DisplayMode="Texts" />
            </Groups>
        </SettingsToolbox>
    </dx:ASPxDiagram>
    
    protected void Page_Load(object sender, EventArgs e) {
        if(!IsPostBack) {
            Diagram.CustomShapes.AddRange(GetDepartmentShapes());
        }
    }
    static IEnumerable<DiagramCustomShape> GetDepartmentShapes() {
        return DepartmentDataProvider.GetDepartments().Select(d =>
            new DiagramCustomShape {
                Category = "Departments",
                DefaultText = d.DepartmentName,
                Type = "dep" + d.ID,
                BaseType = DiagramShapeType.Rectangle,
            }
        );
    }
    protected void Diagram_NodeDataBound(object sender, DiagramNodeEventArgs e) {
        e.Node.Type = "dep" + e.Node.Key;
    }
    
    See Also