void PrepareDataGrid() { ReqTraceUIDataGridView dataGridOld = null; if (dataGridReq != null) { dataGridOld = dataGridReq; tabPageTable.Controls.Remove(dataGridReq); } dataGridReq = new ReqTraceUIDataGridView(tabPageTable.Size.Width, dataGridOld, this as ReqTraceUIDataGridView.ITraceViewGridCb); tabPageTable.Controls.Add(dataGridReq); }
public ReqTraceUIDataGridView(int nWidth, ReqTraceUIDataGridView dataGridOld, ITraceViewGridCb cb) { DataGridViewListBoxColumn lbCol; this.cb = cb; string[] astrMnuEntry; ToolStripMenuItem tsMnuItem; int nMnuItem; nWidth -= RowHeadersWidth; ColumnCount = 3; Location = new Point(0, 0); Dock = DockStyle.Fill; AllowUserToAddRows = false; AllowUserToDeleteRows = false; lbCol = new DataGridViewListBoxColumn(); lbCol.Name = "Trace to"; Columns.Add(lbCol); lbCol = new DataGridViewListBoxColumn(); lbCol.Name = "Trace from"; Columns.Add(lbCol); Columns[0].Name = "Tag"; Columns[0].Visible = false; Columns[0].Width = 0; Columns[1].Name = "Name"; Columns[1].DefaultCellStyle.WrapMode = DataGridViewTriState.True; Columns[1].Width = nWidth / 10; Columns[2].Name = "Text"; Columns[2].DefaultCellStyle.WrapMode = DataGridViewTriState.True; Columns[2].Width = nWidth / 2; Columns[3].Width = nWidth / 5; Columns[4].Width = nWidth / 5; if (dataGridOld != null) { for (int i = 0; i < ColumnCount; i++) { Columns[i].Width = dataGridOld.Columns[i].Width; } } DataGridViewRow row = RowTemplate; row.Height = Font.Height * 11 / 2; ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText; // Create the ContextMenuStrip. mnuCtxRow = new ContextMenuStrip(); cb.GetRowCtxMenu(out astrMnuEntry); nMnuItem = 0; foreach (string str in astrMnuEntry) { if (str.Length > 0) { tsMnuItem = new ToolStripMenuItem(str, null, mnuCtxRow_Click); tsMnuItem.Tag = nMnuItem; mnuCtxRow.Items.Add(tsMnuItem); } else { mnuCtxRow.Items.Add(new ToolStripSeparator()); } nMnuItem++; } mnuCtxRow.Items.Add(new ToolStripSeparator()); mnuCtxRow.Items.Add(new ToolStripMenuItem("Copy", null, mnuCpy_Click)); }