Skip to main content

ASPxDiagram.NodeDataSourceID Property

Specifies the ID of the control from which the ASPxDiagram control retrieves information about nodes.

Namespace: DevExpress.Web.ASPxDiagram

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

Declaration

[DefaultValue("")]
public virtual string NodeDataSourceID { get; set; }

Property Value

Type Default Description
String String.Empty

The control ID.

Remarks

Use the Mappings.Node property to specify node mapping properties.

<dx:ASPxDiagram ID="Diagram" runat="server" Width="100%" Height="600px" Units="In"
    NodeDataSourceID="FlowNodeDataSource" EdgeDataSourceID="FlowEdgeDataSource" 
    OnNodeInserted="Diagram_ItemInserted" OnEdgeInserted="Diagram_ItemInserted" >
    <SettingsAutoLayout Type="Layered" Orientation="Vertical" />
    <Mappings>
        <Node Key="ID" Type="Type" Width="Width" Height="Height" />
        <Edge Key="ID" FromKey="FromID" ToKey="ToID" Text="Text" />
    </Mappings>
</dx:ASPxDiagram>
<ef:EntityDataSource runat="server" ID="FlowNodeDataSource" ContextTypeName="DevExpress.Web.Demos.FlowContextSL" 
  EntitySetName="Nodes" EnableDelete="True" EnableInsert="True" EnableUpdate="True" OnInserted="FlowItemDataSource_Inserted">
</ef:EntityDataSource>
<ef:EntityDataSource runat="server" ID="FlowEdgeDataSource" ContextTypeName="DevExpress.Web.Demos.FlowContextSL" 
  EntitySetName="Edges" EnableDelete="True" EnableInsert="True" EnableUpdate="True" OnInserted="FlowItemDataSource_Inserted">
</ef:EntityDataSource>

Important

When you bind the ASPxDiagram control to a data source, ensure that the KeyValue property is specified.

protected void FlowItemDataSource_Inserted(object sender, Microsoft.AspNet.EntityDataSource.EntityDataSourceChangedEventArgs e) {
    if (e.Entity is FlowEntity)
        lastInsertedId = ((FlowEntity)e.Entity).ID;
}

protected void Diagram_ItemInserted(object sender, DevExpress.Web.ASPxDiagram.DiagramItemInsertedEventArgs e) {
    e.KeyValue = lastInsertedId;
}

Run Demo: Node and Edge Data Sources

See Also