私はWinformとC#を使用しています。winformでmindateとmaxdateを設定する方法Datagridview datetime picker Control?
私は、以下のリンクコードを使用してdatagridviewコントロールでcalanderセルを追加しました。
完全に機能します。
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);
しかし、私はデータグリッドビューの列のすべてのcalanderコントロールに最小日と最大日付を設定します。
すべての行のDataGridView日時コントロールの最小と最大の日付を実装する方法。、
私を助けてください。,,質問
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 Proprietyを取得していません。あなたはすべてのセルのためにそれを強制したい場合は、CalendarEditingControlのコンストラクタに追加することができ
私は質問を理解していません。あなたはすでにあなた自身に答えました。その目的のために意図されたプロパティを使用してください。あなたはこれをやっているのに何の問題がありますか? –
私は、マインド・タイムが最大であることを知っています。しかし、私はdatagridviewの列でこれを実装する方法を知らない。私の問題を理解しましたか? – Sagotharan