I am using flowchart.Net sample DBdesing and using Assemblies for .NET 2.0. in this sample there is inbuild function Arrange ex. tl.Arrange(fc) and u have used it in DBdesign for arranging tables. insted of arranging tables in one line i want to arrange tables in my own manner. so i made follwing changes but its not working.i m sending my source code.second thing i have removed tl.arrange(fc) and made follwing changes in DBdesing 'Plese note some line have commented in sample code.code has been developed in .net 2005 Dim cf As ConnectionForm = New ConnectionForm() Dim x, y, tblcount, wdth, hgt As Integer Dim tbl As Table x = 250 y = 150 wdth = 100 hgt = 120 tblcount = 1 cf.tbConnect.Text = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db\swadesh.mdb;Persist Security Info=False;" If cf.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return Try Dim cn As OleDbConnection = New OleDbConnection Dim schemaTable As DataTable ' connect using specified connection string cn.ConnectionString = cf.tbConnect.Text cn.Open() ' retrieve schema information about tables. ' because tables include tables, views, and other objects, ' restrict to just TABLE in the Object array of restrictions. schemaTable = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, _ New Object() {Nothing, Nothing, Nothing, "TABLE"}) 'iterate tables Dim i As Integer For i = 0 To schemaTable.Rows.Count - 1 If tblcount = 1 Then ' parent table tbl = New Table(fc.CreateTable(x, y, wdth, hgt)) x = x + 150 ElseIf tblcount Mod 2 = 0 Then 'right side tables tbl = fc.CreateTable(x, y, Width, Height) 'tbl.FitSizeToImage() x = x - 300 ElseIf tblcount Mod 2 <> 0 Then 'left side table tbl = fc.CreateTable(x, y, 100, 120) 'tbl.FitSizeToImage() y = y - 125 End If fc.Add(tbl) 'tbl. tbl.Caption = schemaTable.Rows(i).ItemArray(2).ToString() tbl.BoundingRect = New RectangleF(0, 0, 35, 50) ' get columns Dim cmd As OleDbCommand = New OleDbCommand Dim tblInfo As DataTable Dim reader As OleDbDataReader ' retrieve schema from the table into a DataReader cmd.Connection = cn cmd.CommandText = "SELECT * FROM " + tbl.Caption reader = cmd.ExecuteReader(CommandBehavior.KeyInfo) ' Retrieve column schema into a DataTable. tblInfo = reader.GetSchemaTable() tbl.RedimTable(2, 0) ' for each field in the table... Dim r As Integer = 0 Dim field As DataRow For Each field In tblInfo.Rows tbl.AddRow() ' that's the name of the columns tbl(0, r).Text = field(0).ToString() ' that's a .NET type, not DB one; skip 'System.' Dim dotnetType As String = field(5).ToString() tbl(1, r).Text = dotnetType.Substring(7) r += 1 Next field ' Always close the DataReader and connection. reader.Close() tblcount = tblcount + 1 Next i ' explicitly close - don't wait on garbage collection. cn.Close() ' TODO: read relations 'Dim tl As MindFusion.FlowChartX.LayoutSystem.TreeLayout = _ 'New MindFusion.FlowChartX.LayoutSystem.TreeLayout 'tl.NodeDistance = 80 'tl.Arrange(fc) Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
|