private void SetCurrentCellValue(DataGridView grid, object value) { IDataGridViewEditingControl editingControl = null; DataGridViewEditingControlShowingEventHandler onEditingControlShowing = (sender, args) => { Assume.IsNull(editingControl); editingControl = args.Control as IDataGridViewEditingControl; }; try { grid.EditingControlShowing += onEditingControlShowing; grid.BeginEdit(true); if (null != editingControl) { editingControl.EditingControlFormattedValue = value; } else { grid.CurrentCell.Value = value; } } finally { grid.EditingControlShowing -= onEditingControlShowing; } }
/// <summary> /// Extends BeginInvoke so that when a state object is not needed, null does not need to be passed. /// <example> /// datagridvieweditingcontrolshowingeventhandler.BeginInvoke(sender, e, callback); /// </example> /// </summary> public static IAsyncResult BeginInvoke(this DataGridViewEditingControlShowingEventHandler datagridvieweditingcontrolshowingeventhandler, Object sender, DataGridViewEditingControlShowingEventArgs e, AsyncCallback callback) { if (datagridvieweditingcontrolshowingeventhandler == null) { throw new ArgumentNullException("datagridvieweditingcontrolshowingeventhandler"); } return(datagridvieweditingcontrolshowingeventhandler.BeginInvoke(sender, e, callback, null)); }
private void setUpHandlers() { DefaultValuesNeeded += new DataGridViewRowEventHandler(FormattedGridView_DefaultValuesNeeded); CellValidating += new DataGridViewCellValidatingEventHandler(FormattedGridView_CellValidating); this.RowEnter += new DataGridViewCellEventHandler(FormattedGridView_RowEnter); this.CausesValidation = true; UserAddedRow += new DataGridViewRowEventHandler(displayArrayGrid_DoubleClick2); CellEnter += new DataGridViewCellEventHandler(FormattedGridView_CellEnter); CellFormatting += new DataGridViewCellFormattingEventHandler(FormattedGridView_CellFormatting); EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(FormattedGridView_EditingControlShowing); this.RowsRemoved += new DataGridViewRowsRemovedEventHandler(FormattedGridView_RowsRemoved); CellBeginEdit += new DataGridViewCellCancelEventHandler(FormattedGridView_CellBeginEdit); }
private static void ClearDelegate() { for (int i = 0; i < cShowingEventHandlers.Count; i++) { DataGridViewEditingControlShowingEventHandler delg = cShowingEventHandlers[i]; Delegate[] delegates = delg.GetInvocationList(); foreach (Delegate d in delegates) { delg -= (DataGridViewEditingControlShowingEventHandler)d; } } cShowingEventHandlers.Clear(); }
private bool TrySetValue(DataGridViewCell cell, string strValue) { IDataGridViewEditingControl editingControl = null; DataGridViewEditingControlShowingEventHandler onEditingControlShowing = (sender, args) => { Assume.IsNull(editingControl); editingControl = args.Control as IDataGridViewEditingControl; }; try { DataGridView.EditingControlShowing += onEditingControlShowing; DataGridView.CurrentCell = cell; DataGridView.BeginEdit(true); if (null != editingControl) { object convertedValue; if (!TryConvertValue(strValue, DataGridView.CurrentCell.FormattedValueType, out convertedValue)) { return(false); } editingControl.EditingControlFormattedValue = convertedValue; } else { object convertedValue; if (!TryConvertValue(strValue, DataGridView.CurrentCell.ValueType, out convertedValue)) { return(false); } DataGridView.CurrentCell.Value = convertedValue; } if (!DataGridView.EndEdit()) { return(false); } return(true); } catch (Exception e) { Program.ReportException(e); return(false); } finally { DataGridView.EditingControlShowing -= onEditingControlShowing; } }
/// <summary> /// Constructor /// </summary> public EnhancedGrid() { InitializeComponent(); CellDoubleClick += new DataGridViewCellEventHandler(OnCellDoubleClick); CellClick += new DataGridViewCellEventHandler(OnCellClick); CellValidating += new DataGridViewCellValidatingEventHandler(OnCellValidating); DataError += new DataGridViewDataErrorEventHandler(OnDataError); EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(OnEditingControlShowing); RowHeadersVisible = false; // Populate the context menu. ToolStripMenuItem CopyItem = (ToolStripMenuItem)PopupMenu.Items.Add("Copy"); CopyItem.ShortcutKeys = Keys.Control | Keys.C; CopyItem.Click += new EventHandler(OnCopy); ToolStripMenuItem PasteItem = (ToolStripMenuItem)PopupMenu.Items.Add("Paste"); PasteItem.ShortcutKeys = Keys.Control | Keys.V; PasteItem.Click += new EventHandler(OnPaste); ToolStripMenuItem DeleteItem = (ToolStripMenuItem)PopupMenu.Items.Add("Delete"); DeleteItem.ShortcutKeys = Keys.Delete; DeleteItem.Click += new EventHandler(OnDelete); PopupMenu.Items.Add(new ToolStripSeparator()); ToolStripMenuItem MoveDownItem = (ToolStripMenuItem)PopupMenu.Items.Add("Move down"); MoveDownItem.ShortcutKeys = Keys.Control | Keys.Down; MoveDownItem.Click += new EventHandler(OnMoveDown); ToolStripMenuItem MoveUpItem = (ToolStripMenuItem)PopupMenu.Items.Add("Move up"); MoveUpItem.ShortcutKeys = Keys.Control | Keys.Up; MoveUpItem.Click += new EventHandler(OnMoveUp); ContextMenuStrip = PopupMenu; }
/// <summary> /// /// </summary> public override void InitializeGrid(ref DataGridView dataGridCurrent, ref DataTable dTableCurrent) { RemoveClickEvent(dataGridCurrent); dTableCurrent = new DataTable ("DataTable" + GetQuizType()); dataGridCurrent.Columns.Clear(); dataGridCurrent.RowTemplate.Height = 35; //dataGridCurrent.TableStyles.Clear(); // Add a GridTableStyle and set the MappingName // to the name of the DataTable. DataGridTableStyle dgdtblStyle = new DataGridTableStyle(); dgdtblStyle.RowHeadersVisible = false; dgdtblStyle.MappingName = dTableCurrent.TableName; dgdtblStyle.AllowSorting = false; dataGridCurrent.RowHeadersVisible = false; for (int i = 0; i < 5; i++) { dTableCurrent.Columns.Add("Column" + (i+1).ToString(), System.Type.GetType("System.String")); } DataGridViewTextBoxColumn gtbc1 = new DataGridViewTextBoxColumn(); gtbc1.HeaderText = "Section Header Text"; gtbc1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc1.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc1.DataPropertyName = "Column1"; //gtbc1.ValueType = typeof(string); gtbc1.Width = 140; gtbc1.DefaultCellStyle.NullValue = "<type header here>"; dataGridCurrent.Columns.Add(gtbc1); // Add a GridColumnStyle and set the MappingName // to the name of a DataColumn in the DataTable. // Set the HeaderText and Width properties. //ExtendedDataGridMultiLineTextBoxColumn tbc1 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc1.MappingName = "Column1"; //tbc1.TextBox.Multiline = true; //tbc1.MinimumHeight = 35; //tbc1.HeaderText = "Section Header Text"; //tbc1.Width = 140; //tbc1.NullText = "<type header here>"; //dgdtblStyle.GridColumnStyles.Add(tbc1); DataGridViewTextBoxColumn gtbc2 = new DataGridViewTextBoxColumn(); gtbc2.HeaderText = "Sentences to Combine"; gtbc2.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc2.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc2.DataPropertyName = "Column2"; //gtbc1.ValueType = typeof(string); gtbc2.Width = 400; gtbc2.DefaultCellStyle.NullValue = "<type sentences here>"; dataGridCurrent.Columns.Add(gtbc2); //ExtendedDataGridMultiLineTextBoxColumn tbc2 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc2.MappingName = "Column2"; //tbc2.HeaderText = "Sentences to Combine"; //tbc2.TextBox.Multiline = true; //tbc2.MinimumHeight = 35; //tbc2.Width = 400; //tbc2.NullText = "<type sentences here>"; //dgdtblStyle.GridColumnStyles.Add(tbc2); DataGridViewTextBoxColumn gtbc3 = new DataGridViewTextBoxColumn(); gtbc3.HeaderText = "Correct Answer Sentence"; gtbc3.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc3.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc3.DataPropertyName = "Column3"; //gtbc1.ValueType = typeof(string); gtbc3.Width = 370; gtbc3.DefaultCellStyle.NullValue = "<type answer here>"; dataGridCurrent.Columns.Add(gtbc3); //ExtendedDataGridMultiLineTextBoxColumn tbc3 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc3.MappingName = "Column3"; //tbc3.HeaderText = "Correct Answer Sentence"; //tbc3.TextBox.Multiline = true; //tbc3.MinimumHeight = 35; //tbc3.Width = 370; //tbc3.NullText = "<type answer here>"; //dgdtblStyle.GridColumnStyles.Add(tbc3); DataGridViewTextBoxColumn gtbc4 = new DataGridViewTextBoxColumn(); gtbc4.HeaderText = "Width"; gtbc4.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc4.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc4.DataPropertyName = "Column4"; //gtbc1.ValueType = typeof(string); gtbc4.Width = 50; gtbc4.DefaultCellStyle.NullValue = "<# of columns here>"; dataGridCurrent.Columns.Add(gtbc4); //ExtendedDataGridMultiLineTextBoxColumn tbc4 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc4.MappingName = "Column4"; //tbc4.HeaderText = "Width"; //tbc4.TextBox.Multiline = true; //tbc4.MinimumHeight = 35; //tbc4.Width = 50; //tbc4.NullText = "<# of columns here>"; //dgdtblStyle.GridColumnStyles.Add(tbc4); DataGridViewTextBoxColumn gtbc5 = new DataGridViewTextBoxColumn(); gtbc5.HeaderText = "Height"; gtbc5.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc5.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc5.DataPropertyName = "Column5"; //gtbc1.ValueType = typeof(string); gtbc5.Width = 50; gtbc5.DefaultCellStyle.NullValue = "<# of rows here>"; dataGridCurrent.Columns.Add(gtbc5); //ExtendedDataGridMultiLineTextBoxColumn tbc5 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc5.MappingName = "Column5"; //tbc5.HeaderText = "Height"; //tbc5.TextBox.Multiline = true; //tbc5.MinimumHeight = 35; //tbc5.Width = 50; //tbc5.NullText = "<# of rows here>"; //dgdtblStyle.GridColumnStyles.Add(tbc5); DataGridViewEditingControlShowingEventHandler dlg = new DataGridViewEditingControlShowingEventHandler(dataGridView_EditingControlShowing); cShowingEventHandlers.Add(dlg); dataGridCurrent.EditingControlShowing += dlg; foreach (DataGridViewColumn column in dataGridCurrent.Columns) { dataGridCurrent.Columns[column.Name].SortMode = DataGridViewColumnSortMode.NotSortable; } // Add the DataGridTableStyle instance to the GridTableStylesCollection. //dataGridCurrent.TableStyles.Add(dgdtblStyle); dataGridCurrent.DataSource = dTableCurrent; dataGridCurrent.Visible = true; }
/// <summary> /// /// </summary> public override void InitializeGrid(ref DataGridView dataGridCurrent, ref DataTable dTableCurrent) { RemoveClickEvent(dataGridCurrent); dTableCurrent = new DataTable ("DataTable" + GetQuizType()); dataGridCurrent.Columns.Clear(); dataGridCurrent.RowTemplate.Height = 35; //dataGridCurrent.TableStyles.Clear(); // Add a GridTableStyle and set the MappingName // to the name of the DataTable. DataGridTableStyle dgdtblStyle = new DataGridTableStyle(); dgdtblStyle.RowHeadersVisible = false; dgdtblStyle.MappingName = dTableCurrent.TableName; dgdtblStyle.AllowSorting = false; dataGridCurrent.RowHeadersVisible = false; for (int i = 0; i < 4; i++) { dTableCurrent.Columns.Add("Column" + (i+1).ToString(), System.Type.GetType("System.String")); } DataGridViewTextBoxColumn gtbc1 = new DataGridViewTextBoxColumn(); gtbc1.HeaderText = "Question Phrase [Only top line for each question, next 3 are blank]"; gtbc1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc1.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc1.DataPropertyName = "Column1"; //gtbc1.ValueType = typeof(string); gtbc1.Width = 310; gtbc1.DefaultCellStyle.NullValue = "<type question here>"; dataGridCurrent.Columns.Add(gtbc1); // Add a GridColumnStyle and set the MappingName // to the name of a DataColumn in the DataTable. // Set the HeaderText and Width properties. //ExtendedDataGridMultiLineTextBoxColumn tbc1 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc1.MappingName = "Column1"; //tbc1.TextBox.Multiline = true; //tbc1.MinimumHeight = 35; //tbc1.HeaderText = "Question Phrase"; //tbc1.Width = 310; //tbc1.NullText = "<type question here>"; //dgdtblStyle.GridColumnStyles.Add(tbc1); DataGridViewTextBoxColumn gtbc2 = new DataGridViewTextBoxColumn(); gtbc2.HeaderText = "Choices"; gtbc2.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc2.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc2.DataPropertyName = "Column2"; //gtbc1.ValueType = typeof(string); gtbc2.Width = 220; gtbc2.DefaultCellStyle.NullValue = "<type choices here>"; dataGridCurrent.Columns.Add(gtbc2); //ExtendedDataGridMultiLineTextBoxColumn tbc2 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc2.MappingName = "Column2"; //tbc2.HeaderText = "Choices"; //tbc2.TextBox.Multiline = true; //tbc2.MinimumHeight = 35; //tbc2.Width = 220; //tbc2.NullText = "<type choices here>"; //dgdtblStyle.GridColumnStyles.Add(tbc2); DataGridViewTextBoxColumn gtbc3 = new DataGridViewTextBoxColumn(); gtbc3.HeaderText = "Feedback"; gtbc3.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc3.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc3.DataPropertyName = "Column3"; //gtbc1.ValueType = typeof(string); gtbc3.Width = 310; gtbc3.DefaultCellStyle.NullValue = "<type feedback here>"; dataGridCurrent.Columns.Add(gtbc3); //ExtendedDataGridMultiLineTextBoxColumn tbc3 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc3.MappingName = "Column3"; //tbc3.HeaderText = "Feedback"; //tbc3.TextBox.Multiline = true; //tbc3.MinimumHeight = 35; //tbc3.Width = 310; //tbc3.NullText = "<type feedback here>"; //dgdtblStyle.GridColumnStyles.Add(tbc3); DataGridViewTextBoxColumn gtbc4 = new DataGridViewTextBoxColumn(); gtbc4.HeaderText = "Answer(a...d) - [Only top line for each question, next 3 are blank]"; gtbc4.DataPropertyName = "Column4"; gtbc4.Width = 84; gtbc4.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc4.DefaultCellStyle.NullValue = "<insert letter>"; dataGridCurrent.Columns.Add(gtbc4); //DataGridTextBoxColumn tbc4 = new DataGridTextBoxColumn(); //tbc4.MappingName = "Column4"; //tbc4.HeaderText = "Answer(a...d)"; //tbc4.Width = 84; //tbc4.NullText = "<insert letter>"; //dgdtblStyle.GridColumnStyles.Add(tbc4); // // Tie our keypress handler to the textbox's KeyPress event. // //DataGridTextBoxColumn tbcHandler = (DataGridTextBoxColumn)dgdtblStyle.GridColumnStyles[3]; //tbcHandler.TextBox.KeyPress += new KeyPressEventHandler(DatagridPositionKeyPress); DataGridViewEditingControlShowingEventHandler dlg = new DataGridViewEditingControlShowingEventHandler(dataGridView_EditingControlShowing); cShowingEventHandlers.Add(dlg); dataGridCurrent.EditingControlShowing += dlg; foreach (DataGridViewColumn column in dataGridCurrent.Columns) { dataGridCurrent.Columns[column.Name].SortMode = DataGridViewColumnSortMode.NotSortable; } // Add the DataGridTableStyle instance to the GridTableStylesCollection. //dataGridCurrent.TableStyles.Add(dgdtblStyle); dataGridCurrent.DataSource = dTableCurrent; dataGridCurrent.Visible = true; }
/// <summary> /// /// </summary> public override void InitializeGrid(ref DataGridView dataGridCurrent, ref DataTable dTableCurrent) { RemoveClickEvent(dataGridCurrent); dTableCurrent = new DataTable("DataTable" + GetQuizType()); dataGridCurrent.Columns.Clear(); dataGridCurrent.RowTemplate.Height = 35; //dataGridCurrent.TableStyles.Clear(); // Add a GridTableStyle and set the MappingName // to the name of the DataTable. DataGridTableStyle dgdtblStyle = new DataGridTableStyle(); dgdtblStyle.RowHeadersVisible = false; dgdtblStyle.MappingName = dTableCurrent.TableName; dgdtblStyle.AllowSorting = false; dataGridCurrent.RowHeadersVisible = false; for (int i = 0; i < 3; i++) { dTableCurrent.Columns.Add("Column" + (i + 1).ToString(), System.Type.GetType("System.String")); } // Add a GridColumnStyle and set the MappingName // to the name of a DataColumn in the DataTable. // Set the HeaderText and Width properties. DataGridViewTextBoxColumn gtbc1 = new DataGridViewTextBoxColumn(); gtbc1.HeaderText = "Beginning Phrase"; gtbc1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc1.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc1.DataPropertyName = "Column1"; //gtbc1.ValueType = typeof(string); gtbc1.Width = 400; gtbc1.DefaultCellStyle.NullValue = "<type phrase here>"; dataGridCurrent.Columns.Add(gtbc1); DataGridViewTextBoxColumn gtbc2 = new DataGridViewTextBoxColumn(); gtbc2.HeaderText = "Position (a...z)"; gtbc2.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc2.DataPropertyName = "Column2"; gtbc2.Width = 100; gtbc2.DefaultCellStyle.NullValue = "<insert letter>"; dataGridCurrent.Columns.Add(gtbc2); DataGridViewTextBoxColumn gtbc3 = new DataGridViewTextBoxColumn(); gtbc3.HeaderText = "Ending Phrase"; gtbc3.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc3.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc3.DataPropertyName = "Column3"; //gtbc1.ValueType = typeof(string); gtbc3.Width = 400; gtbc3.DefaultCellStyle.NullValue = "<type phrase here>"; dataGridCurrent.Columns.Add(gtbc3); DataGridViewEditingControlShowingEventHandler dlg = new DataGridViewEditingControlShowingEventHandler(dataGridView_EditingControlShowing); cShowingEventHandlers.Add(dlg); dataGridCurrent.EditingControlShowing += dlg; foreach (DataGridViewColumn column in dataGridCurrent.Columns) { dataGridCurrent.Columns[column.Name].SortMode = DataGridViewColumnSortMode.NotSortable; } dataGridCurrent.Visible = true; dataGridCurrent.DataSource = dTableCurrent; }
/// <summary> /// /// </summary> public override void InitializeGrid(ref DataGridView dataGridCurrent, ref DataTable dTableCurrent) { RemoveClickEvent(dataGridCurrent); dTableCurrent = new DataTable ("DataTable" + GetQuizType()); dataGridCurrent.Columns.Clear(); dataGridCurrent.RowTemplate.Height = 35; //dataGridCurrent.TableStyles.Clear(); // Add a GridTableStyle and set the MappingName // to the name of the DataTable. DataGridTableStyle dgdtblStyle = new DataGridTableStyle(); dgdtblStyle.RowHeadersVisible = false; dgdtblStyle.MappingName = dTableCurrent.TableName; dgdtblStyle.AllowSorting = false; dataGridCurrent.RowHeadersVisible = false; for (int i = 0; i < 3; i++) { dTableCurrent.Columns.Add("Column" + (i+1).ToString(), System.Type.GetType("System.String")); } // Add a GridColumnStyle and set the MappingName // to the name of a DataColumn in the DataTable. // Set the HeaderText and Width properties. DataGridViewTextBoxColumn gtbc1 = new DataGridViewTextBoxColumn(); gtbc1.HeaderText = "Beginning Phrase"; gtbc1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc1.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc1.DataPropertyName = "Column1"; //gtbc1.ValueType = typeof(string); gtbc1.Width = 400; gtbc1.DefaultCellStyle.NullValue = "<type phrase here>"; dataGridCurrent.Columns.Add(gtbc1); DataGridViewTextBoxColumn gtbc2 = new DataGridViewTextBoxColumn(); gtbc2.HeaderText = "Position (a...z)"; gtbc2.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc2.DataPropertyName = "Column2"; gtbc2.Width = 100; gtbc2.DefaultCellStyle.NullValue = "<insert letter>"; dataGridCurrent.Columns.Add(gtbc2); DataGridViewTextBoxColumn gtbc3 = new DataGridViewTextBoxColumn(); gtbc3.HeaderText = "Ending Phrase"; gtbc3.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc3.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc3.DataPropertyName = "Column3"; //gtbc1.ValueType = typeof(string); gtbc3.Width = 400; gtbc3.DefaultCellStyle.NullValue = "<type phrase here>"; dataGridCurrent.Columns.Add(gtbc3); DataGridViewEditingControlShowingEventHandler dlg = new DataGridViewEditingControlShowingEventHandler(dataGridView_EditingControlShowing); cShowingEventHandlers.Add(dlg); dataGridCurrent.EditingControlShowing += dlg; foreach (DataGridViewColumn column in dataGridCurrent.Columns) { dataGridCurrent.Columns[column.Name].SortMode = DataGridViewColumnSortMode.NotSortable; } dataGridCurrent.Visible = true; dataGridCurrent.DataSource = dTableCurrent; }
/// <summary> /// /// </summary> public override void InitializeGrid(ref DataGridView dataGridCurrent, ref DataTable dTableCurrent) { RemoveClickEvent(dataGridCurrent); dTableCurrent = new DataTable("DataTable" + GetQuizType()); dataGridCurrent.Columns.Clear(); dataGridCurrent.RowTemplate.Height = 35; //dataGridCurrent.TableStyles.Clear(); // Add a GridTableStyle and set the MappingName // to the name of the DataTable. DataGridTableStyle dgdtblStyle = new DataGridTableStyle(); dgdtblStyle.RowHeadersVisible = false; dgdtblStyle.MappingName = dTableCurrent.TableName; dgdtblStyle.AllowSorting = false; dataGridCurrent.RowHeadersVisible = false; for (int i = 0; i < 4; i++) { dTableCurrent.Columns.Add("Column" + (i + 1).ToString(), System.Type.GetType("System.String")); } DataGridViewTextBoxColumn gtbc1 = new DataGridViewTextBoxColumn(); gtbc1.HeaderText = "Question Phrase [Only top line for each question, next 3 are blank]"; gtbc1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc1.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc1.DataPropertyName = "Column1"; //gtbc1.ValueType = typeof(string); gtbc1.Width = 310; gtbc1.DefaultCellStyle.NullValue = "<type question here>"; dataGridCurrent.Columns.Add(gtbc1); // Add a GridColumnStyle and set the MappingName // to the name of a DataColumn in the DataTable. // Set the HeaderText and Width properties. //ExtendedDataGridMultiLineTextBoxColumn tbc1 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc1.MappingName = "Column1"; //tbc1.TextBox.Multiline = true; //tbc1.MinimumHeight = 35; //tbc1.HeaderText = "Question Phrase"; //tbc1.Width = 310; //tbc1.NullText = "<type question here>"; //dgdtblStyle.GridColumnStyles.Add(tbc1); DataGridViewTextBoxColumn gtbc2 = new DataGridViewTextBoxColumn(); gtbc2.HeaderText = "Choices"; gtbc2.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc2.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc2.DataPropertyName = "Column2"; //gtbc1.ValueType = typeof(string); gtbc2.Width = 220; gtbc2.DefaultCellStyle.NullValue = "<type choices here>"; dataGridCurrent.Columns.Add(gtbc2); //ExtendedDataGridMultiLineTextBoxColumn tbc2 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc2.MappingName = "Column2"; //tbc2.HeaderText = "Choices"; //tbc2.TextBox.Multiline = true; //tbc2.MinimumHeight = 35; //tbc2.Width = 220; //tbc2.NullText = "<type choices here>"; //dgdtblStyle.GridColumnStyles.Add(tbc2); DataGridViewTextBoxColumn gtbc3 = new DataGridViewTextBoxColumn(); gtbc3.HeaderText = "Feedback"; gtbc3.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc3.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc3.DataPropertyName = "Column3"; //gtbc1.ValueType = typeof(string); gtbc3.Width = 310; gtbc3.DefaultCellStyle.NullValue = "<type feedback here>"; dataGridCurrent.Columns.Add(gtbc3); //ExtendedDataGridMultiLineTextBoxColumn tbc3 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc3.MappingName = "Column3"; //tbc3.HeaderText = "Feedback"; //tbc3.TextBox.Multiline = true; //tbc3.MinimumHeight = 35; //tbc3.Width = 310; //tbc3.NullText = "<type feedback here>"; //dgdtblStyle.GridColumnStyles.Add(tbc3); DataGridViewTextBoxColumn gtbc4 = new DataGridViewTextBoxColumn(); gtbc4.HeaderText = "Answer(a...d) - [Only top line for each question, next 3 are blank]"; gtbc4.DataPropertyName = "Column4"; gtbc4.Width = 84; gtbc4.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc4.DefaultCellStyle.NullValue = "<insert letter>"; dataGridCurrent.Columns.Add(gtbc4); //DataGridTextBoxColumn tbc4 = new DataGridTextBoxColumn(); //tbc4.MappingName = "Column4"; //tbc4.HeaderText = "Answer(a...d)"; //tbc4.Width = 84; //tbc4.NullText = "<insert letter>"; //dgdtblStyle.GridColumnStyles.Add(tbc4); // // Tie our keypress handler to the textbox's KeyPress event. // //DataGridTextBoxColumn tbcHandler = (DataGridTextBoxColumn)dgdtblStyle.GridColumnStyles[3]; //tbcHandler.TextBox.KeyPress += new KeyPressEventHandler(DatagridPositionKeyPress); DataGridViewEditingControlShowingEventHandler dlg = new DataGridViewEditingControlShowingEventHandler(dataGridView_EditingControlShowing); cShowingEventHandlers.Add(dlg); dataGridCurrent.EditingControlShowing += dlg; foreach (DataGridViewColumn column in dataGridCurrent.Columns) { dataGridCurrent.Columns[column.Name].SortMode = DataGridViewColumnSortMode.NotSortable; } // Add the DataGridTableStyle instance to the GridTableStylesCollection. //dataGridCurrent.TableStyles.Add(dgdtblStyle); dataGridCurrent.DataSource = dTableCurrent; dataGridCurrent.Visible = true; }
protected override void DoTest() { RunUI(() => SkylineWindow.OpenFile(TestFilesDir.GetTestPath("p180test_calibration_DukeApril2016.sky"))); var surrogateStandards = new Dictionary <string, string> { { "Leu", "Ile" }, { "Lys", "Orn" }, { "Ac-Orn", "Orn" }, { "SDMA", "ADMA" }, { "alpha-AAA", "Orn" }, { "Carnosine", "His" }, { "Histamine", "His" }, { "Kynurenine", "Tyr" }, { "Met-SO", "Met" }, { "Nitro-Tyr", "Tyr" }, { "c4-OH-Pro", "Pro" }, { "t4-OH-Pro", "Pro" }, }; // Set the standard type of the surrogate standards to StandardType.SURROGATE_STANDARD RunUI(() => { List <IdentityPath> pathsToSelect = SkylineWindow.SequenceTree.Nodes.OfType <PeptideGroupTreeNode>() .SelectMany(peptideGroup => peptideGroup.Nodes.OfType <PeptideTreeNode>()) .Where(peptideTreeNode => surrogateStandards.Values.Contains(peptideTreeNode.DocNode.RawTextId)) .Select(treeNode => treeNode.Path) .ToList(); SkylineWindow.SequenceTree.SelectedPaths = pathsToSelect; SkylineWindow.SetStandardType(StandardType.SURROGATE_STANDARD); }); // Use the document grid to set the Normalization Method of the molecules that have surrogate standards var documentGrid = ShowDialog <DocumentGridForm>(() => SkylineWindow.ShowDocumentGrid(true)); RunUI(() => documentGrid.ChooseView(Resources.Resources_ReportSpecList_GetDefaults_Peptide_Quantification)); IDataGridViewEditingControl editingControl = null; DataGridViewEditingControlShowingEventHandler onEditingControlShowing = (sender, args) => editingControl = args.Control as IDataGridViewEditingControl; documentGrid.DataGridView.EditingControlShowing += onEditingControlShowing; // ReSharper disable AccessToForEachVariableInClosure foreach (var entry in surrogateStandards) { WaitForConditionUI(() => documentGrid.IsComplete); RunUI(() => { var colPeptide = documentGrid.FindColumn(PropertyPath.Root); for (int iRow = 0; iRow < documentGrid.RowCount; iRow++) { var row = documentGrid.DataGridView.Rows[iRow]; if (!entry.Key.Equals(row.Cells[colPeptide.Index].FormattedValue)) { continue; } var colNormalizationMethod = documentGrid.FindColumn(PropertyPath.Root.Property("NormalizationMethod")); documentGrid.DataGridView.CurrentCell = row.Cells[colNormalizationMethod.Index]; documentGrid.DataGridView.BeginEdit(false); editingControl.EditingControlFormattedValue = string.Format(Resources.RatioToSurrogate_ToString_Ratio_to_surrogate__0____1__, entry.Value, "Heavy"); documentGrid.DataGridView.EndEdit(); } }); } // Make sure that the Y-Axis on the CalibrationForm reflects the normalization method of the selected molecule var calibrationForm = ShowDialog <CalibrationForm>(() => SkylineWindow.ShowCalibrationForm()); foreach (var peptideGroupTreeNode in SkylineWindow.SequenceTree.Nodes.OfType <PeptideGroupTreeNode>()) { foreach (var peptideTreeNode in peptideGroupTreeNode.Nodes.OfType <PeptideTreeNode>()) { RunUI(() => SkylineWindow.SequenceTree.SelectedPath = peptideTreeNode.Path); WaitForGraphs(); string yAxisText = calibrationForm.ZedGraphControl.GraphPane.YAxis.Title.Text; if (null != peptideTreeNode.DocNode.NormalizationMethod) { Assert.IsInstanceOfType(peptideTreeNode.DocNode.NormalizationMethod, typeof(NormalizationMethod.RatioToSurrogate)); Assert.AreEqual(QuantificationStrings.CalibrationCurveFitter_GetYAxisTitle_Normalized_Peak_Area, yAxisText); } else { Assert.IsInstanceOfType(SkylineWindow.Document.Settings.PeptideSettings.Quantification.NormalizationMethod, typeof(NormalizationMethod.RatioToLabel)); string expectedTitle = CalibrationCurveFitter.PeakAreaRatioText(IsotopeLabelType.light, IsotopeLabelType.heavy); Assert.AreEqual(expectedTitle, yAxisText); } } } }
/// <summary> /// /// </summary> public override void InitializeGrid(ref DataGridView dataGridCurrent, ref DataTable dTableCurrent) { RemoveClickEvent(dataGridCurrent); dTableCurrent = new DataTable("DataTable" + GetQuizType()); dataGridCurrent.Columns.Clear(); dataGridCurrent.RowTemplate.Height = 35; //dataGridCurrent.TableStyles.Clear(); // Add a GridTableStyle and set the MappingName // to the name of the DataTable. DataGridTableStyle dgdtblStyle = new DataGridTableStyle(); dgdtblStyle.RowHeadersVisible = false; dgdtblStyle.MappingName = dTableCurrent.TableName; dgdtblStyle.AllowSorting = false; dataGridCurrent.RowHeadersVisible = false; for (int i = 0; i < 5; i++) { dTableCurrent.Columns.Add("Column" + (i + 1).ToString(), System.Type.GetType("System.String")); } DataGridViewTextBoxColumn gtbc1 = new DataGridViewTextBoxColumn(); gtbc1.HeaderText = "Section Header Text"; gtbc1.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc1.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc1.DataPropertyName = "Column1"; //gtbc1.ValueType = typeof(string); gtbc1.Width = 140; gtbc1.DefaultCellStyle.NullValue = "<type header here>"; dataGridCurrent.Columns.Add(gtbc1); // Add a GridColumnStyle and set the MappingName // to the name of a DataColumn in the DataTable. // Set the HeaderText and Width properties. //ExtendedDataGridMultiLineTextBoxColumn tbc1 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc1.MappingName = "Column1"; //tbc1.TextBox.Multiline = true; //tbc1.MinimumHeight = 35; //tbc1.HeaderText = "Section Header Text"; //tbc1.Width = 140; //tbc1.NullText = "<type header here>"; //dgdtblStyle.GridColumnStyles.Add(tbc1); DataGridViewTextBoxColumn gtbc2 = new DataGridViewTextBoxColumn(); gtbc2.HeaderText = "Sentences to Combine"; gtbc2.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc2.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc2.DataPropertyName = "Column2"; //gtbc1.ValueType = typeof(string); gtbc2.Width = 400; gtbc2.DefaultCellStyle.NullValue = "<type sentences here>"; dataGridCurrent.Columns.Add(gtbc2); //ExtendedDataGridMultiLineTextBoxColumn tbc2 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc2.MappingName = "Column2"; //tbc2.HeaderText = "Sentences to Combine"; //tbc2.TextBox.Multiline = true; //tbc2.MinimumHeight = 35; //tbc2.Width = 400; //tbc2.NullText = "<type sentences here>"; //dgdtblStyle.GridColumnStyles.Add(tbc2); DataGridViewTextBoxColumn gtbc3 = new DataGridViewTextBoxColumn(); gtbc3.HeaderText = "Correct Answer Sentence"; gtbc3.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc3.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc3.DataPropertyName = "Column3"; //gtbc1.ValueType = typeof(string); gtbc3.Width = 370; gtbc3.DefaultCellStyle.NullValue = "<type answer here>"; dataGridCurrent.Columns.Add(gtbc3); //ExtendedDataGridMultiLineTextBoxColumn tbc3 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc3.MappingName = "Column3"; //tbc3.HeaderText = "Correct Answer Sentence"; //tbc3.TextBox.Multiline = true; //tbc3.MinimumHeight = 35; //tbc3.Width = 370; //tbc3.NullText = "<type answer here>"; //dgdtblStyle.GridColumnStyles.Add(tbc3); DataGridViewTextBoxColumn gtbc4 = new DataGridViewTextBoxColumn(); gtbc4.HeaderText = "Width"; gtbc4.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc4.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc4.DataPropertyName = "Column4"; //gtbc1.ValueType = typeof(string); gtbc4.Width = 50; gtbc4.DefaultCellStyle.NullValue = "<# of columns here>"; dataGridCurrent.Columns.Add(gtbc4); //ExtendedDataGridMultiLineTextBoxColumn tbc4 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc4.MappingName = "Column4"; //tbc4.HeaderText = "Width"; //tbc4.TextBox.Multiline = true; //tbc4.MinimumHeight = 35; //tbc4.Width = 50; //tbc4.NullText = "<# of columns here>"; //dgdtblStyle.GridColumnStyles.Add(tbc4); DataGridViewTextBoxColumn gtbc5 = new DataGridViewTextBoxColumn(); gtbc5.HeaderText = "Height"; gtbc5.DefaultCellStyle.WrapMode = DataGridViewTriState.True; gtbc5.SortMode = DataGridViewColumnSortMode.NotSortable; gtbc5.DataPropertyName = "Column5"; //gtbc1.ValueType = typeof(string); gtbc5.Width = 50; gtbc5.DefaultCellStyle.NullValue = "<# of rows here>"; dataGridCurrent.Columns.Add(gtbc5); //ExtendedDataGridMultiLineTextBoxColumn tbc5 = new ExtendedDataGridMultiLineTextBoxColumn(); //tbc5.MappingName = "Column5"; //tbc5.HeaderText = "Height"; //tbc5.TextBox.Multiline = true; //tbc5.MinimumHeight = 35; //tbc5.Width = 50; //tbc5.NullText = "<# of rows here>"; //dgdtblStyle.GridColumnStyles.Add(tbc5); DataGridViewEditingControlShowingEventHandler dlg = new DataGridViewEditingControlShowingEventHandler(dataGridView_EditingControlShowing); cShowingEventHandlers.Add(dlg); dataGridCurrent.EditingControlShowing += dlg; foreach (DataGridViewColumn column in dataGridCurrent.Columns) { dataGridCurrent.Columns[column.Name].SortMode = DataGridViewColumnSortMode.NotSortable; } // Add the DataGridTableStyle instance to the GridTableStylesCollection. //dataGridCurrent.TableStyles.Add(dgdtblStyle); dataGridCurrent.DataSource = dTableCurrent; dataGridCurrent.Visible = true; }