/// <summary> /// 开始编辑,增加日历控件的事件绑定 /// Starts editing the Cell /// </summary> public override void StartEditing() { this.dateTimePicker.CloseUp += new EventHandler(dateTimePicker_CloseUp); I3Column column = this.EditingTable.ColumnModel.Columns[this.EditingCellPos.Column]; if (column.GetType() == typeof(I3DateTimeColumn)) { I3DateTimeColumn dateTimeColumn = column as I3DateTimeColumn; if (dateTimeColumn.DateTimeColumnType == I3DateTimeColumnType.Date) { this.dateTimePicker.Format = DateTimePickerFormat.Short; this.dateTimePicker.ShowUpDown = false; } else { this.dateTimePicker.Format = DateTimePickerFormat.Time; this.dateTimePicker.ShowUpDown = true; } this.dateTimePicker.CustomFormat = dateTimeColumn.Format; } this.TextBox.SelectionLength = 0; base.StartEditing(); }
/// <summary> /// 设置TextBox的值 /// Sets the initial value of the editor based on the contents of /// the Cell being edited /// </summary> protected override void SetEditValue() { // set default values incase we can't find what we're looking for DateTime date = DateTime.Now; String format = I3DateTimeColumn.ShortDateFormat; if (this.EditingCell.Data != null && this.EditingCell.Data is DateTime) { date = (DateTime)this.EditingCell.Data; if (this.EditingTable.ColumnModel.Columns[this.EditingCellPos.Column] is I3DateTimeColumn) { I3DateTimeColumn dtCol = (I3DateTimeColumn)this.EditingTable.ColumnModel.Columns[this.EditingCellPos.Column]; format = dtCol.Format; } } this.dateTimePicker.Value = date; this.TextBox.Text = date.ToString(format); }