- PR -

DataGridViewTextBoxColumnの入力桁数制限について

1
投稿者投稿内容
とら
ベテラン
会議室デビュー日: 2006/10/04
投稿数: 54
投稿日時: 2007-01-24 12:53
Visual Studio 2005でC#による開発を行っております。
データベースはOracle9iです。

DataGridViewTextBoxColumnに対する入力を受付その結果をデータベースに
反映させる処理を作りたいのですが、MaxInputLengthプロパティに対して
値を設定しても、文字数でしか制限が行われないため、Verchar2の項目に
格納する時点で、入力値にダブルバイトの文字列を含む場合、例外が
発生してしまう場合があります。

TextBoxに対するMaxLengthの場合と同様なのですが、TextBoxの場合は
TextChangedイベントが存在するため、チェックロジックを記述することが
可能です。

これに対して、DataGridViewTextBoxColumnには、TextChangedに相当する
イベントが無いようです。

入力された文字列のバイト数に対するチェックを実装する方法は無いのでしょうか?

何か、アドバイス等御座いましたら、よろしくお願いします。
KI
大ベテラン
会議室デビュー日: 2007/01/10
投稿数: 239
投稿日時: 2007-01-24 22:07
どういう制御を行いたいのか(どのタイミングでチェックを行うのか)が
はっきりしないので、何ともいえませんが、
TextBoxのTextChangedと同じことをしたいのであれば、
DataGridViewTextBoxEditingControl を調べてみるとよいと思います。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-02-04 00:42
 VARCHAR2 の宣言を、文字数指定にするとか。
 Oracle の文字セットを、Unicode にするとか。
_________________
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2007-02-04 13:19
引用:

とらさんの書き込み (2007-01-24 12:53) より:

これに対して、DataGridViewTextBoxColumnには、TextChangedに相当する
イベントが無いようです。

入力された文字列のバイト数に対するチェックを実装する方法は無いのでしょうか?



僕は自作しました。

R.Tanaka.Ichiro.Windows.Forms.DataGridViewTextEditBoxColumn という名前(はどうでも良いですか^^;)

MSDN に DataGridViewColumn や Cell を自作するサンプルがあったので、比較的簡単に作れましたよ。
_________________
R・田中一郎 -  R.Tanaka.Ichiro’s Blog
1

スキルアップ/キャリアアップ(JOB@IT)