【发布时间】:2013-01-21 12:35:18
【问题描述】:
我即将开始开发自定义日历列。我设计了一个实现IDataGridViewEditingCell 的列,之前它允许用户编辑内容,而单元格不必先进入编辑模式(是一个弹出编辑框)。
对于我的日历列,如果用户单击将与单元格右侧对齐的日历图标,我希望拥有此功能,这将弹出一个不同的控件,因此单元格无需移动进入编辑模式,从而减少用户必须经过的点击次数。
但是,如果用户想输入日期,我也希望用户能够自己输入单元格(因为打字员通常更快),在这种情况下,单元格将需要进入编辑模式, 并为用户提供适当的编辑控件。
有关此接口的 MSDN 文档说明如下:
此接口由诸如 DataGridViewCheckBoxCell 之类的类实现,这些类派生自 DataGridViewCell 并提供用于指定值的用户界面 (UI),而无需承载编辑控件。无论单元格是否处于编辑模式,都会显示这种情况下的 UI。
其他单元格类型,例如 DataGridViewButtonCell,提供 UI,但不存储用户指定的值。在这种情况下,单元格类型不实现 IDataGridViewEditingCell 或承载编辑控件。
当单元格处于编辑模式时显示编辑控件的单元格类型,例如 DataGridViewTextBoxCell,不实现 IDataGridViewEditingCell,而是提供实现 IDataGridViewEditingControl 的伴随类。例如,DataGridViewTextBoxCell 提供了一个派生自 TextBox 控件并实现 IDataGridViewEditingControl 的 DataGridViewTextBoxEditingControl。在这种情况下,单元格的 EditType 属性设置为表示编辑控件类型的 Type 对象。
对我来说,这意味着一个单元格不能实现这个接口并且承载一个编辑控件。
有没有人遇到过这种情况,我有什么选择?
【问题讨论】:
-
如果你能分享你的代码,那将为我们增加一些线索:)
-
目前还没有代码,我想在我深入之前先问一下。
标签: c# .net winforms datagridview