示例#1
0
        /// <summary>
        /// 设置可编辑列类型
        /// </summary>
        /// <param name="index">列索引</param>
        /// <param name="colStyle">列类型</param>
        public bool SetEditColumnStyle(int index, EditColumnStyle colStyle)
        {
            Debug.Assert(index > -1 && index < this.Columns.Count);

            if (_colCtrlDic.ContainsKey(index))
            {
                return(false);
            }
            else
            {
                switch (colStyle)
                {
                case EditColumnStyle.StringTextBox:
                    NormalCharTextBox txtBox = new NormalCharTextBox();
                    InitTextBox(txtBox);

                    _colCtrlDic.Add(index, txtBox);
                    break;

                case EditColumnStyle.IntTextBox:
                    IntTextBox txtIntBox = new IntTextBox();
                    InitTextBox(txtIntBox);

                    _colCtrlDic.Add(index, txtIntBox);
                    break;

                case EditColumnStyle.DoubleTextBox:
                    DoubleTextBox txtDoubleBox = new DoubleTextBox();
                    InitTextBox(txtDoubleBox);

                    _colCtrlDic.Add(index, txtDoubleBox);
                    break;

                case EditColumnStyle.CombBox:
                    ComboBox cmbBox = new ComboBox();
                    cmbBox.Visible       = false;
                    cmbBox.DropDownStyle = ComboBoxStyle.DropDownList;
                    cmbBox.FlatStyle     = FlatStyle.Standard;
                    cmbBox.Leave        += new EventHandler(combBox_Leave);
                    this.Controls.Add(cmbBox);
                    _colCtrlDic.Add(index, cmbBox);
                    break;

                case EditColumnStyle.DateTimePicker:
                    DateTimePicker dtp = new DateTimePicker();
                    dtp.Format  = DateTimePickerFormat.Custom;
                    dtp.Visible = false;
                    dtp.Leave  += new EventHandler(dateTime_Leave);
                    this.Controls.Add(dtp);
                    _colCtrlDic.Add(index, dtp);
                    break;

                default:
                    break;
                }

                return(true);
            }
        }
示例#2
0
        /// <summary>
        /// 设置numberTextBox的范围
        /// </summary>
        /// <param name="index">列索引</param>
        /// <param name="minVal">最小值</param>
        /// <param name="maxVal">最大值</param>
        /// <returns>是否设置成功</returns>
        public bool SetTextBoxColumnRange(int index, double minVal, double maxVal)
        {
            Debug.Assert(index > -1 && index < this.Columns.Count);

            if (_colCtrlDic.ContainsKey(index))
            {
                if (_colCtrlDic[index] is IntTextBox)
                {
                    IntTextBox txtBox = _colCtrlDic[index] as IntTextBox;
                    txtBox.SetRange((int)minVal, (int)maxVal);

                    return(true);
                }
                else if (_colCtrlDic[index] is DoubleTextBox)
                {
                    DoubleTextBox txtBox = _colCtrlDic[index] as DoubleTextBox;
                    txtBox.SetRange(minVal, maxVal);

                    return(true);
                }
            }

            return(false);
        }