DOBON.NETプログラミング道掲示板
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
[ スレッド内全4レス(親記事-4 表示) ] <<
0
>>
■35332
/ 親記事)
フォームのリサイズ時にDataGridViewが再描画されない
▼
■
□投稿者/ saku
一般人(6回)-(2023/01/17(Tue) 11:11:25)
環境/言語:[C#]
分類:[.NET]
皆さまお世話になります。
フォーム上に、DataGridViewを配置し、AnchorはTop,Bottom,Left,Rightにしています。データ読み込み後、フォームをドラッグや最大化したときにDataGridView自体はフォームに合わせてサイズは変わるものの、データを表示している部分が再描画してくれません。(This.DataGridView1.Reflesh)
こういったときはRefleshではなく、他に書き方があるのでしょうか?
(リサイズ後に、編集中の項目がある場合には操作を全て覚えておいて再読み込みをした後に、順番に処理していく位しか思い浮かびませんでした。)
皆さまはこういった場面では、どのようにプログラミングしているのでしょうか?
ヒントだけでもいただければ大変助かります。
宜しくお願いいたします。
マルチポストを報告
Javascriptを有効にしてください
この投稿がマルチポスト(全く同じ内容の投稿が別の掲示板に投稿されている)の場合は、以下のフォームをご利用いただくと、報告の投稿が簡単に行えます。
このフォームに必要事項を入力後、「返信フォームに入力する」ボタンをクリックすると、このページの下にある
返信フォーム
の項目が自動的に埋まります。実際に投稿するには、その後、返信フォームの「送信」ボタンをクリックしてください。
このフォームを利用しても返信フォームが埋まるだけですので、後で書き直してから投稿することもできます。
「マルチポストされている場所」には、マルチポストされている場所のURLを入力してください。複数のURLを改行区切りで入力することができます。
マルチポストされている場所
オプション
マルチポスト先の投稿が、別人によるいたずらである可能性が高い
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■35333
/ ResNo.1)
Re[1]: フォームのリサイズ時にDataGridViewが再描画されない
▲
▼
■
□投稿者/ KOZ
一般人(17回)-(2023/01/17(Tue) 11:44:54)
■
No35332
に返信(sakuさんの記事)
DataGridView はリサイズすると OnResize メソッドで Invalidate() が実行され再描画されるので、特にコードを書く必要はありません。
DataGridView.OnResize
https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/DataGridViewMethods.cs,6dfca71975a9ba17
「データを表示している部分が再描画してくれません。」とはどのような状態でしょうか?
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■35334
/ ResNo.2)
Re[1]: フォームのリサイズ時にDataGridViewが再描画されない
▲
▼
■
□投稿者/ 魔界の仮面弁士
大御所(1520回)-(2023/01/17(Tue) 11:47:30)
■
No35332
に返信(sakuさんの記事)
> This.DataGridView1.Reflesh
This → this では?
DataGridView1 → dataGridView1 では?
Reflesh → Refresh では?
※ fresh:新鮮な
※ flesh:肉
> データを表示している部分が再描画してくれません。
CellPaiting イベントなどの、何か追加の処理を書いていたりしますか?
現象を再現可能な、最小実験用のプロジェクトをどこかにアップロードしていただくか、
あるいは .zip で添付してもらえないでしょうか。
(サイズを抑えるため、bin や obj などは含めないでください)
手元の環境で、Form 上に DataGridView を直接貼ったうえで
下記を試しましたが、事象を再現できませんでした。
(.NET Framework 4.8.1 および .NET Framework 3.5 で確認)
var dt = new DataTable();
for(int i = 1; i <= 15; i++)
{
dt.Columns.Add("Col" + i, typeof(int));
}
for (int r = 100; r < 200; r++)
{
dt.Rows.Add(Enumerable.Range(r + 1, 15).Cast<object>().ToArray());
}
dt.AcceptChanges();
dataGridView1.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right;
dataGridView1.Columns.Clear();
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = dt;
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■35335
/ ResNo.3)
Re[2]: フォームのリサイズ時にDataGridViewが再描画されない
▲
▼
■
□投稿者/ saku
一般人(8回)-(2023/01/17(Tue) 13:04:28)
早々のご回答ありがとうございました。
今回は、既にあるシステム内にDataGridViewのコントロールが既にあり、
それを継承して使用していました。
再描画されない状態なのですが、
フォームの真ん中にDataGridViewを配置、その下にボタンがついています。
フォームを下にドラッグして、DataGridViewの表示できる行を増やしたところ、
下に広げた部分は前の表示が残ってしまいます。
※外に出せないため、その再描画されない状態だけ画像を添付します。
説明が下手くそですいません。
継承したコントロールに問題があるのかもしれません。
そこだけのプロジェクト作って検証してみます。
ありがとうございました。
■
No35333
に返信(KOZさんの記事)
> ■
No35332
に返信(sakuさんの記事)
>
> DataGridView はリサイズすると OnResize メソッドで Invalidate() が実行され再描画されるので、特にコードを書く必要はありません。
>
> DataGridView.OnResize
> https://referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/DataGridViewMethods.cs,6dfca71975a9ba17
>
> 「データを表示している部分が再描画してくれません。」とはどのような状態でしょうか?
992×315 => 250×79
g1117.png
/
13KB
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
■35337
/ ResNo.4)
Re[3]: フォームのリサイズ時にDataGridViewが再描画されない
▲
▼
■
□投稿者/ saku
一般人(11回)-(2023/01/17(Tue) 20:16:44)
その後、システム内のプログラムを見直してみました。
継承コントロールの方でバグが見つかりました。(SuspendLayout、ResumeLayoutの設置位置と削除し忘れ)
それが原因だったようで、バグ修正後は正しく動くようになりました。
お手数をおかけしました。
解決済みとさせていただいます。
皆さまのご返答で解決の糸口になったこと、感謝します。
ありがとうございました。
解決
済
み!
違反を報告
Javascriptを有効にしてください
この投稿が掲示板のルールに違反しており、何らかの対処が必要であると思われる場合は、以下のフォームを利用して管理人に報告することができます。
マルチポストの報告は、
返信フォーム
の上にある「マルチポストの報告」リンクをご利用ください。
この機能の悪用は絶対にしないでください。
悪用されたと管理人が判断した場合は、予告なしで厳しい対処がなされる可能性があります。
確認等の目的で、入力されたメールアドレス宛に返信メールが送信される可能性があります。メールの受信ができないメールアドレスは入力しないでください。
下のフォームが使用できない場合は、
メールフォーム
を使って管理人にご報告ください。
お名前(必須)
メールアドレス(必須)
本文(必須)
(違反理由など)
引用返信
削除キー/
編集
削除
このスレッドをツリーで一括表示
スレッド内ページ移動 / <<
0
>>
このスレッドに書きこむ
入力内容にタグは利用できません。
引用部分(行頭に「>」や「■」が付いている部分)が全体の 80% 以上のコメントは投稿できません。
半角カナは使用しないでください。文字化けの原因になります。
削除キーを覚えておくと、自分の記事の編集・削除ができます。
記事中に No*** のように書くとその記事にリンクされます(No は半角英字/*** は半角数字)。
使用例)
No123 → 記事No123の記事リンクになります(指定表示)。
No123,130,134 → 記事No123/130/134 の記事リンクになります(複数表示)。
No123-130 → 記事No123〜130 の記事リンクになります(連続表示)。
投稿前に必ずお読みください
初めて投稿される方は、必ず「
書き込みのルールについて(12/4/2更新)
」をお読みください。
読むのが面倒、ルールを守りたくないという方は、「
お気楽掲示板
」へ投稿してください。
質問を投稿する場合は、「
質問をする際のアドバイス
」を参考にしてください。
投稿は、明記のない限り、パブリックドメインになります。
マルチポストされた投稿を報告する時は匿名で投稿し、マルチポストされている場所を併記してください。以下のリンクをクリックしていただくと、自動で下のフォームが埋まりますので、その後「送信」ボタンを押してご投稿ください。
マルチポストの報告をする
マルチポストの報告をするが、マルチポスト先の投稿が嫌がらせである(元の投稿者とは別人が行なっている)可能性が高い
(投稿日時に開きがあり、こちらの投稿の方が早い場合は、その可能性が高いです)
Name
/
E-Mail
/
Title
/
URL
/
Comment/ 通常モード->
図表モード->
(適当に改行して下さい/半角10000文字以内)
File
/
アップ可能拡張子=> /
.gif
/
.jpg
/
.png
/.zip
1) 太字の拡張子は画像として認識されます。
2) 画像は初期状態で縮小サイズ250×250ピクセル以下で表示されます。
3) 同名ファイルがある、またはファイル名が不適切な場合、
ファイル名が自動変更されます。
4) アップ可能ファイルサイズは1回
20KB
(1KB=1024Bytes)までです。
5) ファイルアップ時はプレビューは利用できません。
6) スレッド内の合計ファイルサイズ:[13/300KB]
残り:[287KB]
Icon
/
ホイールロボ
くるりロボ
ぱんだ
ふとめネコ
ねずみ
こあら
疑問ねこ
ランダム
管理者用
(画像を選択/
サンプル一覧
)
削除キー
/
(半角8文字以内)
解決
済
み!
BOX/
解決したらチェックしてください!(スレッドを閉じる目的ではチェックしないでください!)
クリエイティブ・コモンズ・ライセンス
を Comment の末尾に挿入するには、以下のリンクをクリックしてください。(Javascript で挿入しているだけです。)
表示(CC BY)
|
表示-改変禁止(CC BY-ND)
|
表示-継承(CC BY-SA)
|
表示-非営利(CC BY-NC)
|
表示-非営利-改変禁止(CC BY-NC-ND)
|
表示-非営利-継承(CC BY-NC-SA)
プレビュー/
クッキーに保存しない/
Mode/
通常管理
表示許可
Pass/
HOME
HELP
新規作成
新着記事
ツリー表示
スレッド表示
トピック表示
発言ランク
ファイル一覧
検索
過去ログ
-
Child Tree
-