Пример #1
0
        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));
        }
Пример #3
0
 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);
 }
Пример #4
0
 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();
 }
Пример #5
0
        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;
            }
        }
Пример #6
0
        /// <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;
        }
Пример #7
0
        /// <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;
        }
Пример #9
0
        /// <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;
        }
Пример #10
0
        /// <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;
        }
Пример #11
0
        /// <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;
        }
Пример #12
0
        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);
                    }
                }
            }
        }
Пример #13
0
        /// <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;
        }