- - PR -
DataGridViewの最初の1行目のEditingControlが正常に動作しない
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-05-12 10:19
RTanakaBox
DataGridViewRTanakaBoxEditingControl DataGridViewRTanakaBoxColumn DataGridViewRTanakaBoxCell を作って DataGridView の桁で使用しています。 RTanakaBox に独自に作成したプロパティの値が、DataGridView に最初からある行に のみ正しく渡されていない問題が起きています。 最初からある行に、独自に作成したプロパティの値を渡すには、どのように指定して やる必要があるのでしょうか? 以下、詳細です。 RTanakaBox は、TextBox に正規表現文字列プロパティを追加したもので、 "^[0-9]*$"と指定すると 0〜9しか入力を受け付けなくするというものです。 しかし、DataGridView で最初からある Row 追加用の行に対してだけは、入力できて しまいます。ブレークポイントで値チェックしている部分を参照すると、値が正常に 渡されていないことを確認しました。 しかし、その後追加した行に関しては、値が正常に渡されており、目的どおり正規表 現による入力制限が効く状態になります。 試しに、TextBox の MaxLength プロパティで 2 を指定すると正しく2文字以上の文 字の入力を受け付けなくなります。このことから、独自に追加したプロパティの値 のみ、最初からある Row 追加用の行に反映されていないことがわかりました。 いろいろ動きを調べてみているのですが、どうしてもわかりません。 よろしくお願いします _(_*_)_ | ||||
|
投稿日時: 2006-05-13 11:22
直接的な解決では無いのですが、InitializeComponent(); 直後に Clear() メソッ
ドを実行したら、とりあえず正常に動作するようになりました。
AllowUserToAddRows で末尾行が生成された後に EditingControl の独自プロパティ が設定されるためではないかと思っているんですが、Clear() メソッドで末尾行を 再生性してくれるからかなぁ〜、と思っています。 |
1