I'm about to start developing a custom calendar column. I've designed a column which implements IDataGridViewEditingCell
before which allows the user to edit the contents without the cell first having to go into edit mode (was a popup edit box).
For my calendar column I'd like to have this functionality if the user clicks the calendar icon which will be aligned to the right of the cell, this will pop up a different control so there is no need for the cell to go into edit mode, thus reducing the number of clicks the user has to go through.
However, I'd also like the user to be able to type into the cell itself if they want to type the date in (as its usually quicker for typists), in this situation the cell will need to go into edit mode, and give the use the appropriate editing control.
The MSDN docs regarding this interface state the following:
This interface is implemented by classes such as DataGridViewCheckBoxCell that derive from DataGridViewCell and provide a user interface (UI) for specifying values without hosting an editing control. The UI in this case is displayed regardless of whether the cell is in edit mode.
Other cell types, such as DataGridViewButtonCell, provide a UI but do not store user-specified values. In this case, the cell type does not implement IDataGridViewEditingCell or host an editing control.
Cell types that display an editing control when the cell is in edit mode, such as DataGridViewTextBoxCell, do not implement IDataGridViewEditingCell but instead provide a companion class that implements IDataGridViewEditingControl. For example, DataGridViewTextBoxCell provides a DataGridViewTextBoxEditingControl that derives from the TextBox control and implements IDataGridViewEditingControl. In this case, the cell EditType property is set to a Type object representing the editing control type.
To me, this infers that a cell can not implement this interface and host an editing control.
Does anyone have any experience with this situation, what are my options?