質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

ADO.NET

ADO.NETは.NET Frameworkで各種データベースへの統一された接続機能を提供するソフトウェアコンポーネントの集合です。

Q&A

0回答

458閲覧

DataGridViewの現在表示されている1画面のみ再表示にしたい。

saitokoukichi

総合スコア4

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

ADO.NET

ADO.NETは.NET Frameworkで各種データベースへの統一された接続機能を提供するソフトウェアコンポーネントの集合です。

0グッド

1クリップ

投稿2019/08/25 23:07

C#,ADO.NET,.NetFreameWork内で開発しています。
DataGridViewのDataSourceにDataSetのテーブルを設定しています。
バックグランドでDataSourceにDataSetのテーブルに追加、変更が行われるとDataGridViewの表示
が再表示され画面が更新されます。DataGridViewの1画面に表示される行は25行です。DataSetのテーブルには2000件位のデータが格納されています。DataGridViewの再表示中画面はロック状態でスクロール等の操作は受け付けないのは当然ですが、現在表示中の1画面のみの再表示が終了したらロックを解除することは出来ないのでしょうか?ロックの期間がテーブルの2000件を対象しているようでロック状態を最小限にしたいのですがよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hihijiji

2019/08/26 10:10

現在どのようにページングを行っているのか、ロックとは何のロックなのかを具体的にしてください。 出来ればコードも提示してください。
saitokoukichi

2019/08/28 13:29

PC01パソコン(区別の意味で)はSQLSERVERデータベースより予約データをTableAdapter介してDataSetのテーブルに読み込みます。 この読み込まれたデータをDataGridViewコントロールで表示しています。DataGridViewのDataSourceプロパティにはBindingSourceオブジェクトを設定しており、BindingSourceオブジェクトのDataSourceにデータセット名、DataMemberにはデータセットのテーブルを設定しています。 データベースからテーブルに読み込まれると画面上のDataGridViewコントロールに表示されます。DataGridViewコントロールの画面には読み込んだデータ例えば2000件の内先頭の25行分の25件データが表示されます。DataGridViewコントロール内をスクロールすると読み込んだ2000件のデータが正しく表示されます。 複数のパソコンでSQLSERVERのテーブルをネットワークを介してアクセスしています。他のパソコン(PC02パソコン)がテーブル内のあるデータを変更するとSQLSERVERのデータベース内のテーブルにUPDATEされます。PC01パソコンはこのUPDATEされたデータを反映する為に、5秒間隔でタイマー割込みでSQLSERVERのデータベース内の該当テーブルより検索して反映すべきデータを探してきてPC01パソコンの既に読み込んでいるDATASET内のテーブルに上書きします(変更の場合、追加の場合テーブルに追加)。PC01パソコンのテーブルに変更、追加が行われるとDataGridViewコントロールは表示の再描画を行います。この再描画が終了するまでDataGridViewコントロールの25行表示している行はマウスによるスクロール、行のダブルクリックによる処理等は受付なくなります。これは当然と思いますが、受け付けない時間を最小限にしたいのですが、読み込んだ2000件の件数に影響すのであれば、半分の1000件だとすれば、受け付けない時間も半分になるのでしょうか?DataGridViewコントロールは2000件分の行を内部に展開しているのなら表示行は25行でも2000件分をDataGridViewコントロールは変更の有無にかかわらずメモリ上に再度表示できるように展開(表示イメージ)しているのでしょうか? 受付できない時間を最小限にする方法は何かあるのでしょうか? 分かりづらくてすみませんがよろしくお願いします。
hihijiji

2019/08/29 01:05

ここではなく質問を変更してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問