2

カスタム カレンダー列の開発を開始しようとしています。IDataGridViewEditingCellユーザーが最初にセルを編集モードにすることなくコンテンツを編集できるようにする前に実装する列を設計しました(ポップアップ編集ボックスでした)。

私のカレンダー列では、ユーザーがセルの右側に配置されるカレンダーアイコンをクリックすると、この機能が必要になります。これにより、別のコントロールがポップアップするため、セルを編集モードにする必要はありません、したがって、ユーザーが経験しなければならないクリック数を減らします。

ただし、ユーザーが日付を入力したい場合は、セル自体に入力できるようにしたいと思います(通常、タイピストにとってはより速いため)。この状況では、セルを編集モードにして、与える必要があります適切な編集コントロールを使用します。

このインターフェイスに関する MSDN ドキュメントには、次のように記載されています。

このインターフェイスは、DataGridViewCell から派生し、編集コントロールをホストせずに値を指定するためのユーザー インターフェイス (UI) を提供する DataGridViewCheckBoxCell などのクラスによって実装されます。この場合の UI は、セルが編集モードかどうかに関係なく表示されます。

DataGridViewButtonCell などの他のセル タイプは、UI を提供しますが、ユーザー指定の値を格納しません。この場合、セル型は IDataGridViewEditingCell を実装していないか、編集コントロールをホストしていません。

セルが編集モードのときに編集コントロールを表示するセル型 (DataGridViewTextBoxCell など) は、IDataGridViewEditingCell を実装しませんが、代わりに IDataGridViewEditingControl を実装するコンパニオン クラスを提供します。たとえば、DataGridViewTextBoxCell は、TextBox コントロールから派生し、IDataGridViewEditingControl を実装する DataGridViewTextBoxEditingControl を提供します。この場合、セルの EditType プロパティは、編集コントロール タイプを表す Type オブジェクトに設定されます。

私には、これは、セルがこのインターフェイスを実装し編集コントロールをホストできないことを示唆しています。

このような状況の経験がある人はいますか?私の選択肢は何ですか?

4

1 に答える 1

0

このドキュメントから私が収集しているのは、実装時IDataGridViewEditingCellにセル編集コントロールであるということです。必要な機能を得るには、DataGridViewCalendarCell とDataGridViewCalendarEditingControl、列内のすべてのセルで共有される関連付けを作成する必要があります。も作成する必要があるかもしれませんDataGridViewCalendarColumn

于 2013-01-21T13:16:28.210 に答える