- PR -

DataGridView数値入力

1
投稿者投稿内容
nontacon
会議室デビュー日: 2006/08/04
投稿数: 3
投稿日時: 2006-08-04 11:23
皆さん、はじめまして。
C#2005初心者です。

DataGridViewの列に対して…

(1)数値(小数)のみ入力可能な制限をかけるには、どうすればよろしいのでしょうか?
(2)(1)の制限に加え、整数部と小数部の桁数を制限するには、どうすればよろしいのでしょうか?
(3)入力された数値(小数)の整数部桁数と小数部桁数をチェックし、決まった桁数でない場合、入力値をキャンセルし、入力前の値を再表示するには、どうすればよろしいのでしょうか?

複数質問して申し訳ありません。
分かる方がいらっしゃいましたら、ご教授いただければ幸いです。
宜しくお願い致します。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-04 11:36
引用:

nontaconさんの書き込み (2006-08-04 11:23) より:

(1)数値(小数)のみ入力可能な制限をかけるには、どうすればよろしいのでしょうか?
(2)(1)の制限に加え、整数部と小数部の桁数を制限するには、どうすればよろしいのでしょうか?
(3)入力された数値(小数)の整数部桁数と小数部桁数をチェックし、決まった桁数でない場合、入力値をキャンセルし、入力前の値を再表示するには、どうすればよろしいのでしょうか?


ここまで、制限続きであれば、SPREAD for .NET を使われた方が良いでしょう。
整数部と浮動小数部の桁数制限も、デフォルトで可能です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-08-04 11:45
ゴリゴリ書くなら、CellBeginEdit イベントで値をバックアップして、CellEndEdit イベントで値チェックして、その結果で元に戻す・・・とかかな?

nontacon
会議室デビュー日: 2006/08/04
投稿数: 3
投稿日時: 2006-08-04 12:01
じゃんぬねっとさん、R・田中一郎さん、返信ありがとうございます。

やはり.NET標準のDataGridViewでは厳しそうですか…。
SPREADについては、検討してみたいと思います。

ありがとうございました。
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-08-04 12:02
こんにちは。

確かにマンドクセ('A`)というのであれば SPREAD for .NET が一番かも。

引用:

R・田中一郎さんの書き込み (2006-08-04 11:45) より:

ゴリゴリ書くなら、CellBeginEdit イベントで値をバックアップして、CellEndEdit イベントで値チェックして、その結果で元に戻す・・・とかかな?


CellValidating イベントなんかどうですか?
キャンセルも出来ますし。

_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
nontacon
会議室デビュー日: 2006/08/04
投稿数: 3
投稿日時: 2006-08-04 12:13
ぽぴ王子さん、返信ありがとうございます。

引用:

ぽぴ王子さんの書き込み (2006-08-04 12:02) より:

確かにマンドクセ('A`)というのであれば SPREAD for .NET が一番かも。


CellValidating イベントなんかどうですか?
キャンセルも出来ますし。




やはり選択肢は、SPREAD for .NETなんですかね。
皆さんも使われてるんでしょうか。

CellValidatingイベントで入力内容の確定をキャンセルすることは出来ました。
しかし、その際、(3)で質問させて頂いた通り、Escキーを押したときと同様に、
編集を終了させ、編集前の状態を表示させたいのですが、
その方法が分かりませんでした…。
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-08-07 18:27
こんにちは。

こちらの方でも回答があったようなので、とりあえずリンクしておきます。
http://vsug.jp/tabid/63/view/topic/postid/5522/forumid/72/tpage/1/Default.aspx

引用:

nontaconさんの書き込み (2006-08-04 12:13) より:

やはり選択肢は、SPREAD for .NETなんですかね。
皆さんも使われてるんでしょうか。


予算がそれなりにあって、作りこむのが面倒とか、デバッグが面倒とか、自
分で作るよりも既存のものを使ったほうが信頼性が上がるんじゃないかと言
った判断の場合は使うかもしれませんね。
私個人は .NET 用は使ったことがありません。(VB6 用であれば使ったこと
はありますが)

引用:

CellValidatingイベントで入力内容の確定をキャンセルすることは出来ました。
しかし、その際、(3)で質問させて頂いた通り、Escキーを押したときと同様に、
編集を終了させ、編集前の状態を表示させたいのですが、
その方法が分かりませんでした…。


DataGridView.CancelEdit と DataGridView.EndEdit メソッドを調
べてみてください。
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
1

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