「DataGridViewのセルに入力された値が正しいか確かめる」へのコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html 「DataGridViewのセルに入力された値が正しいか確かめる」に投稿されたコメントの一覧 ja https://dobon.net/banner/dbs1.gif https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html 「DataGridViewのセルに入力された値が正しいか確かめる」へのコメント 88 31 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#11  知識・ノウハウの習得は、もっぱらWeb検索に頼っていますが、当方が必要とする情報がなかなか得られず、毎日、試行錯誤を繰り返していました。
 これまで、私が探し求めていたのは正に貴方様のこの記事です。簡潔・明瞭・丁寧で的を得て、大変分かりやすく感激しています。これからも活用させていただきますので、よろしくお願いいたします。 取り急ぎお礼申し上げます。2022/2/16]]>
Wed, 16 Feb 2022 15:13:30 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#11
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#10 本サイトの
https://dobon.net/vb/dotnet/datagridview/readonly.html
で解決しました。
恐れ入ります。ありがとうございました。]]>
Mon, 18 Jan 2021 11:58:24 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#10
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#9 e.Cancel = true;
についてです。

誤った入力をし、カーソルキーを右に移動させた場合コミットをキャンセルします。
しかし誤った入力をしEnterキーを入れると引き続きRowEnterのイベントが発生してしまいました。
しかしRowEnter内ではe.RowIndexは増加されていません。入力セルのRowIndexのままです。

dataGridView1_RowEnter内ではセルのReadOnlyをColumnごとに設定しています。
dgv.Columns["Column"].ReadOnly = true;
が実行されると
「現在のセルをコミットできないので、操作を完了できません。」
とエラーになります。

対策としてEnter入力後のRowEnterを回避するのはよくない気がしてます。
dgv.Columns["Column"].ReadOnly = true;はCellEnterに移したほうがいいのか?、または違う方法がいいのかご意見伺いたく投稿させていただきました。
宜しくお願いします。]]>
Mon, 18 Jan 2021 11:00:51 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#9
評価の理由 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#8 凡例のコードが実用的で良いヒントになる。]]> Thu, 03 Dec 2020 10:06:45 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#8 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#7 以下のコードで解決しました。

private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e)
{
DataGridView dgv = (DataGridView)sender;

//数量
if (dgv.Columns[e.ColumnIndex].Name == "quantity" && (e.Value == DBNull.Value || e.Value.ToString().Trim() == string.Empty))
{
e.Value = 0m;
e.ParsingApplied = true;
}
}]]>
Wed, 23 Sep 2020 12:02:05 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#7
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#6 私も少し躓いたのですが、e.FormattedValueの値はObject型のため、テキストボックスと異なり、型変換エラーが起こりやすいです。
まずisDbNullで0に置き換え、それ以外の場合でも""の場合も0に置き換える、とすると良いと思います。]]>
Wed, 23 Sep 2020 11:12:00 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#6
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#5 入力値が""の場合、値を0にする場合はどうなるのでしょうか。

テキストボックスのVlidatingのようにはいかないようです。]]>
Tue, 08 Sep 2020 15:14:35 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#5
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#4
編集中のセルにエラーアイコンを表示する方法のリンクが切れていますね。このリンク先にあった方法は、

https://social.msdn.microsoft.com/Forums/en-US/28d812bb-5f33-46d6-94dd-6a2d1f442a29/displaying-errortext-on-the-current-cell-in-datagridview-control?forum=vblanguage

にある方法と同じと思われます。時間がある時に、リンクを修正し、私もいろいろ試してみたいと思います。ご提案、ありがとうございました。]]>
Wed, 11 Mar 2015 00:19:14 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#4
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#3 Tue, 10 Mar 2015 01:03:56 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#3 通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#2 >
> これは、DataGridView1.CancelEdit()では?

DataGridView1でも大丈夫だと思いますが(C#のコードでは駄目なケースも考えられます)、dgvで問題ないはずです。]]>
Tue, 26 Apr 2011 01:56:39 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#2
通常のコメント https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#1 //dgv.CancelEdit();

これは、DataGridView1.CancelEdit()では?]]>
Mon, 25 Apr 2011 11:36:34 +0900 https://dobon.net/cgi-bin/pc/pc.php?mode=v&id=datagridview%2Fcellvalidating.html#1