コード例 #1
0
    public override void InitializeEditingControl(int rowIndex, object initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
    {
        base.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle);
        NumericUpDownEditingControl ctl = DataGridView.EditingControl as NumericUpDownEditingControl;

        ctl.Minimum = this.min;
        ctl.Maximum = this.max;
        ctl.Value   = Convert.ToDecimal(this.Value);
    }
コード例 #2
0
        public void TestNumericUpDownEditingControl_HasCorrectSettings()
        {
            //---------------Set up test pack-------------------
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
            NumericUpDownEditingControl editingControl = new NumericUpDownEditingControl();

            //---------------Test Result -----------------------
            Assert.AreEqual(2, editingControl.DecimalPlaces);
            Assert.IsFalse(editingControl.RepositionEditingControlOnValueChange);
            Assert.AreEqual(0, editingControl.EditingControlRowIndex);
            Assert.IsNull(editingControl.EditingControlDataGridView);
            Assert.IsFalse(editingControl.EditingControlValueChanged);
        }
コード例 #3
0
        public void TestNumericUpDownEditingControl_EditingControlFormattedValue()
        {
            //---------------Set up test pack-------------------
            NumericUpDownEditingControl editingControl = new NumericUpDownEditingControl();
            //---------------Assert Precondition----------------
            string defaultValueString = 0D.ToString("0.00");

            Assert.AreEqual(defaultValueString, editingControl.EditingControlFormattedValue);
            //Assert.AreEqual(defaultValueString, editingControl.GetEditingControlFormattedValue(null));
            //---------------Execute Test ----------------------

            // REQUIRES A PARENT GRID FOR DIRTY NOTIFICATION, NOT WORTH THE TROUBLE?
            //Decimal dtValue = 12.345;
            //editingControl.EditingControlFormattedValue = dtValue.ToString();
            ////---------------Test Result -----------------------
            //Assert.AreEqual(dtValue.ToString("0.00"), editingControl.EditingControlFormattedValue);
        }
コード例 #4
0
    private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        var ctl = e.Control as NumericUpDownEditingControl;

        if (ctl != null)     //&& ctl != lastCtl
        {
            if (handler == null)
            {
                handler = new EventHandler(myUpDownCtl_ValueChanged);                      //save a handler has better performance
            }
            //Event => ValueChanged: just fires for Up/Dn btn or when press enter, TextChanged: also fired during user typing
            if (lastCtl != null)
            {
                lastCtl.ValueChanged -= handler;                      //ensure we remove our handler.
            }
            lastCtl = ctl;
            lastCtl.ValueChanged += handler;     //we can use myUpDownCtl_ValueChanged directly instead of that handler var
            //handler(sender, EventArgs.Empty);
        }
    }
コード例 #5
0
            public override void InitializeEditingControl(int rowIndex, object
                                                          initialFormattedValue, DataGridViewCellStyle dataGridViewCellStyle)
            {
                // Set the value of the editing control to the current cell value.
                base.InitializeEditingControl(rowIndex, initialFormattedValue,
                                              dataGridViewCellStyle);
                NumericUpDownEditingControl ctl =
                    DataGridView.EditingControl as NumericUpDownEditingControl;

                // Use the default row value when Value property is null.
                if (this.Value == null)
                {
                    ctl.Value = (decimal)this.DefaultNewRowValue;
                }
                else
                {
                    var value = (float)this.Value;
                    ctl.Value = (decimal)value;
                }
            }