public void RenderDataTable(IScriptEditor editor, DataTable tbl) { if (IsExecutingAsync) { throw new Exception("Query is already executing!"); } _tables.Add(tbl); PragmaDataGridView grd = new PragmaDataGridView(); grd.StatusAlwaysVisible = true; if (editor != null) { editor.PrepareAddInSupportForResultContextMenu(grd.PopupMenu.Items); } pan.Controls.Add(grd); grd.Parent = pan; grd.Height = _gridHeight; grd.Left = 0; grd.Top = Int32.MaxValue - 100; grd.Dock = DockStyle.Top; grd.RenderDataTable(tbl); grd.Enter += new EventHandler(grd_Enter); _grids.Add(grd); grd.BringToFront(); Splitter splt = null; if (true) { splt = new Splitter(); splt.SplitterMoved += new SplitterEventHandler(splt_SplitterMoved); splt.SplitterMoving += new SplitterEventHandler(splt_SplitterMoving); splt.BackColor = _splitterBackColor; splt.MinExtra = 15; splt.MinSize = 15; pan.Controls.Add(splt); splt.Dock = DockStyle.Top; splt.BringToFront(); } pan.Height += grd.Height + (splt != null ? splt.Height : 0); }
private void RenderResult(IScriptEditor editor, TabControl tabControl, ScriptExecutionResult execResult) { if (execResult == null || execResult.DataSets == null || execResult.DataSets.Count == 0) { return; } TabPage tp = null; PragmaDataGridView grd = null; int tblNo = 1; foreach (DataSet ds in execResult.DataSets) { if (ds == null || ds.Tables.Count == 0) { continue; } DataSetInfo dsInfo = editor.GetDataSetInfo(ds); tblNo = 1; foreach (DataTable tbl in ds.Tables) { string tabCaption = String.Format("Qry {0}.{1} [{2}]", dsInfo.BatchNo, tblNo, tbl.Rows.Count); tp = new TabPage(tabCaption); tp.ToolTipText = String.Format(tabCaption + " [{0}]", dsInfo.ServerDbInfo); tabControl.TabPages.Add(tp); grd = new PragmaDataGridView(); tp.Controls.Add(grd); grd.Enter += new EventHandler(grd_Enter); editor.PrepareAddInSupportForResultContextMenu(grd.PopupMenu.Items); grd.Parent = tp; grd.Dock = DockStyle.Fill; grd.RenderDataTable(tbl); _disposeList.Add(grd); tblNo++; } } }