- - PR -
datagridview の入力制限について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-04-17 15:46
「CellValueChanged イベント」を調べてみてはいかがでしょう。
|
|
投稿日時: 2007-04-17 17:08
DataGridViewのセルを継承して拡張する、という手もありますよ。
|
|
投稿日時: 2007-04-17 17:52
ぶさいくろうさんのいう「答え」が「プロパティなんぞで簡単に制限できるも
んではないんじゃ!」というのならば、確かに過去ログにそういった結論が あった気がしますが(笑)どうでしょう。 とまあ、それはともかく。 どこまでの制御をするか、という部分も曖昧なのが混乱を招いているので しょうね。 たとえばセルの内容を編集して、別のセルに移ろうとしたタイミングで「数 値以外は入力できません!」とメッセージでも表示して移動できなければ それで良いのか。 はたまた、編集中に0〜9以外のキーがそもそも入力できないようにしなけ ればいけないのか。 前者であれば、タイミング的には DataGridView.CellValidating イベン トで検証を行えばいいかもしれませんし、後者になると DataGridView.EditingControl プロパティの内容に細工してあげると か、Ahf さんが書かれているようにセルを継承してなんとかする、というパ ターンがあると思います。ただこちらはかなり難易度が高いです。 KeyPress というのは DataGridView.KeyPress イベントのことだと思 いますが、セルの編集中は DataGridView ではなく、別のコントロール に対して編集を行っているので、DataGridView に対するキー入力関係 のイベントは呼ばれません(上に書いている EditingControl という部分 ですね)。 オヌヌメ…じゃなかった、お勧めはやはり CellValidating イベントでキャン セルさせる方が楽です。 _________________ ぽぴ王子@わんくま同盟 ぽぴ王子の人生プログラミング中 / ぽぴンち。 |
|
投稿日時: 2007-04-17 17:54
ぶさいくろう元帥に補足。
"DataGridViewTextBoxEditingControl" をこの会議室で検索しましょう。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |