2009-04-15 9 views
4

DataGridViewセルをカスタマイズして、コンボボックスとテキストフィールドの を作成しようとしています。これまでのmyCellクラスは、DataGridViewTextBoxCell クラスから派生しています。 私のクラスはプライベートメンバーとしてコンボボックスを持っていますが、私はどのようにして をレンダリングできるのか分かりません。私はPainメソッドをオーバーライドしていますが、コンボボックスを描画するには がどのようになっているかわかりません。私はその場所を セルの起点に設定し、そのサイズはcellBoundsのサイズに等しくなるように設定しました。もし私が コンボボックスをフォーム上に作っていたら、それを私のフォームに追加しなければならないことを知っています。 コントロールリストでは描画されますが、この場合は私は 本当にやっていません。C# - カスタマイズされたDatagridViewセルオプションのヘルプ

注:どのような種類のSQLデータベースも使用していません。

の上半分にコンボボックスが表示され、ユーザーのセルの下半分にテキストボックスが表示され、実行時にテキストが に変更されるのが理想です。

誰でもこれを達成するための最良の方法を知っていますか?

ありがとうございました。

+0

btw。私はPain()メソッドを愛しています:) – tanascius

答えて

3

私はIDataGridViewEditingControlと厳密な要件(TextBoxとComboBox)を持っているカスタムUserControlから派生しようとします。
しかし、ComboBoxだけでは十分でない場合はチェックしてください。 DropDownStyleに応じて、ユーザーは既にComboBoxのコンテンツを変更できます。

+0

あなたの返事をありがとう。 私はNewColクラス、DataGridViewTextBoxCellから派生したNewCellクラス、およびコンボボックスとテキストボックスを含むuserControlを作成しました。 IDataGridViewEditingControlからnewCellを派生させる理由は何ですか?私はまだ描かれているユーザーコントロールを見ることはできません。 –

+0

少なくとも、編集モードでは、カスタムのusercontrolが表示されます。セル自体はまだコンボボックス+テキストボックスがあることを塗装(ふりをする)する必要があります。たぶん[モノラル実装](http://www.koders.com/csharp/fidA007D20790ED5F373E98CDAB06E10F7788C648E3.aspx)が役立ちますか? – tanascius

+0

私は試してみることに感謝します。 –