aspnet-devexpress-dot-web-dot-aspxdiagram-dot-aspxdiagram-08e2bc25.md
Occurs after a node has been bound to a data source.
Namespace : DevExpress.Web.ASPxDiagram
Assembly : DevExpress.Web.ASPxDiagram.v25.2.dll
NuGet Package : DevExpress.Web
public event DiagramNodeEventHandler NodeDataBound
Public Event NodeDataBound As DiagramNodeEventHandler
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. |
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;
}
Class SurroundingClass
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
Diagram.CustomShapes.AddRange(GetDepartmentShapes())
End If
End Sub
Private Shared Function GetDepartmentShapes() As IEnumerable(Of DiagramCustomShape)
Return DepartmentDataProvider.GetDepartments().[Select](Function(d) New DiagramCustomShape With {
.Category = "Departments",
.DefaultText = d.DepartmentName,
.Type = "dep" & d.ID,
.BaseType = DiagramShapeType.Rectangle
})
End Function
Protected Sub Diagram_NodeDataBound(ByVal sender As Object, ByVal e As DiagramNodeEventArgs)
e.Node.Type = "dep" & e.Node.Key
End Sub
End Class
See Also