Nevron Forum

Populate diagram from database fail

https://www.nevron.com/Forum/Topic5191.aspx

By Hendra Permana - Tuesday, June 7, 2011

Hello,

I try to re-create the sample from http://support.nevron.com/KB/a27/automatically-create-a-diagram-from-a-database.aspx

But the output diagram is not as i'm expected. There's no line connector and shapes is just stack up. Any advise?

By Nevron Support - Tuesday, June 7, 2011

Hi,

Check out if your edges data adapter is correct and loads any data at all. If it is, make sure that you have also set correctly the FromVertexIdColumnName and the ToVertexIdColumnName properties of the importer.

By Hendra Permana - Tuesday, June 7, 2011

I have set it all correctly. But the output is just like this one http://i52.tinypic.com/2jb2vie.jpg

below is the code:

Private Sub loadData()

view.BeginInit()

view.Document = document

view.ViewLayout = ViewLayout.Fit
view.Grid.Visible = False
view.GlobalVisibility.ShowPorts = False
view.HorizontalRuler.Visible = False
view.VerticalRuler.Visible = False

Dim vertexStyleSheet As New NStyleSheet()
vertexStyleSheet.Name = "Vertices"
document.StyleSheets.AddChild(vertexStyleSheet)

Dim edgeStyleSheet As New NStyleSheet()
edgeStyleSheet.Name = "Edges"
edgeStyleSheet.Style.StartArrowheadStyle = New NArrowheadStyle(ArrowheadShape.Circle, "", New NSizeL(5, 5), New NColorFillStyle(Color.Gray), New NStrokeStyle(1, Color.Black))
edgeStyleSheet.Style.EndArrowheadStyle = New NArrowheadStyle(ArrowheadShape.Arrow, "", New NSizeL(5, 5), New NColorFillStyle(Color.Gray), New NStrokeStyle(1, Color.Black))
document.StyleSheets.AddChild(edgeStyleSheet)

Dim GraphImporter As New NGraphDataSourceImporter()

GraphImporter.Document = document

Dim connString As String = System.Configuration.ConfigurationManager.ConnectionStrings(1).ConnectionString

Dim PagesDataAdapter As New System.Data.SqlClient.SqlDataAdapter("select * from pages", connString)
Dim LinksDataAdapter As New System.Data.SqlClient.SqlDataAdapter("select * from links", connString)

GraphImporter.VertexDataSource = PagesDataAdapter
GraphImporter.EdgeDataSource = LinksDataAdapter

GraphImporter.VertexIdColumnName = "ID"
GraphImporter.FromVertexIdColumnName = "FromPageId"
GraphImporter.ToVertexIdColumnName = "ToPageId"


Dim shapesFactory As New NBasicShapesFactory()
shapesFactory.DefaultSize = New NSizeF(60, 30)
GraphImporter.VertexShapesFactory = shapesFactory
GraphImporter.VertexShapesName = BasicShapes.Rectangle.ToString()

GraphImporter.VertexStyleSheetName = "Vertices"
GraphImporter.EdgeStyleSheetName = "Edges"

Dim layout As New NLayeredGraphLayout()
layout.Direction = LayoutDirection.TopToBottom
layout.LayerAlignment = RelativeAlignment.Near

GraphImporter.Layout = layout

AddHandler GraphImporter.VertexImported, AddressOf OnVertexImported

GraphImporter.Import()

view.EndInit()
End Sub

Is there something i missed? please advise.
By Nevron Support - Monday, July 4, 2011

Hi,

Can you provide us with a snapshot of the pages and links tables schemas and data.

By Hendra Permana - Tuesday, July 5, 2011

i have included the screenshot and the output.

Code is already attached in previous post.

Regards