基本的に、Datagridview でいくつかの列を編集するときにカレンダーを表示したいと考えています。
方法: MSDN の Windows フォーム DataGridView セルでコントロールをホストするに従って、ビルド時に必要な種類の列を追加できます。
しかし、私の場合、見出しを日付型の列に接続する必要がある Excel リーダーによって提供されるデータソースを使用する必要があります。
private DataGridView AddCalendars(DataGridView dtgv)
{
dtgv.DataSource = controller.getEmptyDataTable(); // DataTable provided by excel reader
var l = dtgv.Columns.Count;
string[] dateColumns = {"date_received", "date_of_birth"};
for (var i = 0; i < l; ++i)
{
if ( dateColumns.Any( dtgv.Columns[i].HeaderText.Contains )
{
dtgv.Columns[i] = new CalendarColumn(); // this line does not work cause by readonly
}
}
return dtgv;
}
選択した列にカレンダー列コントロールを適用するにはどうすればよいですか?
または、Datagridview を別の方法で構築して同じ結果を得るにはどうすればよいですか?