Back to Devexpress

ASPxDiagram.NodeDataSourceID Property

aspnet-devexpress-dot-web-dot-aspxdiagram-dot-aspxdiagram-359fd53f.md

latest3.9 KB
Original Source

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.v25.2.dll

NuGet Package : DevExpress.Web

Declaration

csharp
[DefaultValue("")]
public virtual string NodeDataSourceID { get; set; }
vb
<DefaultValue("")>
Public Overridable Property NodeDataSourceID As String

Property Value

TypeDefaultDescription
StringString.Empty

The control ID.

|

Remarks

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

aspx
<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.

cs
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;
}
vb
Protected Sub FlowItemDataSource_Inserted(ByVal sender As Object, ByVal e As Microsoft.AspNet.EntityDataSource.EntityDataSourceChangedEventArgs)
    If TypeOf e.Entity Is FlowEntity Then lastInsertedId = (CType(e.Entity, FlowEntity)).ID
End Sub

Protected Sub Diagram_ItemInserted(ByVal sender As Object, ByVal e As DevExpress.Web.ASPxDiagram.DiagramItemInsertedEventArgs)
    e.KeyValue = lastInsertedId
End Sub

Run Demo: Node and Edge Data Sources

See Also

Bind Diagram to Data

EdgeDataSourceID

ASPxDiagram - Bind to Data

ASPxDiagram Class

ASPxDiagram Members

DevExpress.Web.ASPxDiagram Namespace