DOBON.NET DOBON.NETプログラミング掲示板過去ログ

FlexGridで数値しか入力できないようにしたい

環境/言語:[C#.NET WinXp SQLSrver]
分類:[.NET]

C#.NETの開発でFlexGridを使っています。

編集可能なグリッドの開発をしているのですが、
デザイナで数値の入力のみしかうけつけないようにする方法はありますか?

正規表現などをかけるようなプロパティはありますでしょうか?
それとも各編集イベントで数値かそうじゃないかをチェックするロジックが
必要ですか?
どうぞよろしくお願いします。
■No8156に返信(ああああさんの記事)
> C#.NETの開発でFlexGridを使っています。
>
> 編集可能なグリッドの開発をしているのですが、
> デザイナで数値の入力のみしかうけつけないようにする方法はありますか?
>
> 正規表現などをかけるようなプロパティはありますでしょうか?
> それとも各編集イベントで数値かそうじゃないかをチェックするロジックが
> 必要ですか?
> どうぞよろしくお願いします。
>

EditMaskプロパティで入力マスクを指定することができます。
■No8157に返信(RANRANさんの記事)
> ■No8156に返信(ああああさんの記事)
>>C#.NETの開発でFlexGridを使っています。
>>
>>編集可能なグリッドの開発をしているのですが、
>>デザイナで数値の入力のみしかうけつけないようにする方法はありますか?
>>
>>正規表現などをかけるようなプロパティはありますでしょうか?
>>それとも各編集イベントで数値かそうじゃないかをチェックするロジックが
>>必要ですか?
>>どうぞよろしくお願いします。
>>
>
> EditMaskプロパティで入力マスクを指定することができます。

入力マスクとは電話番号の「−」を表示させたりそういうのではないのですか?
"^[0-9]+$"
と入れてみたのですが、うまくいきません・・・。

> 入力マスクとは電話番号の「−」を表示させたりそういうのではないのですか?
ヘルプはご覧になりましたか?

> "^[0-9]+$"
> と入れてみたのですが、うまくいきません・・・。
>
■No8159に返信(RANRANさんの記事)
>
>>入力マスクとは電話番号の「−」を表示させたりそういうのではないのですか?
> ヘルプはご覧になりましたか?
>
>>"^[0-9]+$"
>>と入れてみたのですが、うまくいきません・・・。
>>


見ました。
fg.EditMask = "&&&&;*";


というようにEditBoxの正規表現と同じように使えるのかと思ったのですが
ちがうのでしょうか。
private bool _CheckNumber(string editingStr)
{

string strData = editingStr.Replace( " ", "" ); //スペースを除去する
if( (strData.Length == 0) || Regex.IsMatch( strData, "^[0-9]+$") )
{
return true;
}
else
{
false;
}

}

こういう判定メソッドを作って
_ValidateEditイベント時に判定するしか方法はないのでしょうか?
できればグリッドのデザイナでEdiotBoxのように設定できないものかなと
思いました。
桁数は固定じゃないのですね。
勘違いしておりました。

デザイナ側で行えるかどうかは私はちょっと分かりかねます。
申し訳ありません。

しかし数値しか入力させないという観点から見ますと
_ValidateEditイベント時よりKeyPressEditイベント時に判断するほうが
適切かと思われます。

DOBON.NET | プログラミング道 | プログラミング掲示板