Я использую Winform And C #.
В этом я добавил ячейку каландра в элементе управления datagridview, используя код ссылки ниже.
Это прекрасно работает.
http://msdn.microsoft.com/en-us/library/7tas5c80.aspx.
Мой код для добавления элемента управления календаря ....
foreach (DataGridViewRow row in this.dataGridView2.Rows)
{
row.Cells[4].Value = DateTime.Now;
}
Я знаю, что при обычном управлении доступны свойства MinDate и MaxDate.
dateTimePicker1.MinDate = DateTime.Today;
dateTimePicker1.MaxDate = DateTime.Today.AddYears( 1 );
Но я хочу установить минимальную и максимальную дату во всех элементах управления каландром в столбце представления таблицы данных.
Как реализовать минимальную и максимальную дату в элементе управления датой и временем представления данных для всех строк.,
Пожалуйста, помогите мне. ,,
Обновленный вопрос
public class CalendarCell : DataGridViewTextBoxCell
{
public CalendarCell()
: base()
{
// Use the short date format.
this.Style.Format = "d";
}
// For Min And Max DATE
public DateTime MaxDate { get; set; }
public DateTime MinDate { get; set; }
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);
CalendarEditingControl ctl =
DataGridView.EditingControl as CalendarEditingControl;
// For Min And Max DATE
ctl.MinDate = MinDate;
ctl.MaxDate = MaxDate;
// Use the default row value when Value property is null.
if (this.Value == null)
{
ctl.Value = (DateTime)this.DefaultNewRowValue;
}
else
{
ctl.Value = (DateTime)this.Value;
}
}
Мой код, ..
Но я не получаю права на MinDate и MaxDate.В чем моя ошибка ...