14

私は、データグリッドビューを備えた勝利フォーム (c#) を持っています。グリッドのデータソースをデータテーブルに設定しました。

ユーザーは、データテーブル内のデータが別のソースに存在するかどうかを確認したいので、行を他のソースと比較してテーブルをループし、データテーブルの行エラーを短いメッセージに設定します。datagridview にはこれらのエラーは表示されません。datagridviewrows のエラーテキストが設定されていますが、エラーは表示されません。

エラーが表示されることを期待しすぎて、グリッド内のデータを編集するコンテキストでのみ表示されますか?

私はこれを1日いじくり回しており、同様の問題を無駄に投稿した人を探しました-助けてください!

4

11 に答える 11

11

AutoSizeRowsModeに設定されていることを確認しDataGridViewAutoSizeRowsMode.Noneます。がデフォルトの none に設定されていない場合、行Errortextプレビュー アイコンが表示されないことがわかりました。AutoSizeRowsMode

DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.None
于 2009-05-06T10:13:09.613 に答える
10

これは元のポスターには少し遅れていますが、ここでそれを解決したのは...

行の高さを確認してください19未満の場合、アイコンは描画されません。それが問題であるかどうかを確認するために、少し高く設定してみてください。

grid.RowTemplate.Height = 22
于 2010-10-29T15:27:05.523 に答える
6

e.Cancel を True に設定すると、アイコンは表示されません。その行に問題が存在することをユーザーに知らせません。

于 2011-06-14T21:08:31.230 に答える
5

プロパティが設定さDataGridViewれた時点で が表示されている必要があります。ErrorText

于 2012-11-20T21:04:12.937 に答える
2

エラー アイコンが表示されないもう 1 つの理由は、行ヘッダーのサイズが小さすぎる場合です。デフォルトでは 46 です。何らかの理由で行ヘッダーを 30 などの小さいサイズに設定すると、エラー アイコンは表示されません。

于 2016-11-14T21:37:36.303 に答える
2

プロパティを確認dgv.ShowRowErrorsします。

于 2015-08-07T12:08:54.247 に答える
0

他の誰かが今日も検索している場合:私のために働いた解決策は、(同じ)DataSourceをDataGridViewに再割り当てし、RowErrorプロパティを設定した後にグリッドでRefreshメソッドを呼び出すことでした。

(VB.Netコード:)

myDataGridView.DataSource = myDataSet.Tables(0) 
myDataGridView.Refresh()

その後、新しく割り当てられたRowErrorが最終的に表示されました。

于 2011-10-18T10:45:13.180 に答える
-1

ESCキーストロークを送信すると、強制的に表示されます(少なくとも私にとってはうまくいきました)

SendKeys.Send("{ESC}");
于 2013-05-12T05:03:41.973 に答える
-1

エラーは編集時にのみ表示されると思います。あなたができることは、ブール列を DataTable に追加することです。これにより、エラーがあるかどうかを反映して、DataGridView に画像/カスタム列が表示されます。

于 2008-11-16T07:14:41.753 に答える