
DataFridViewで行を一括ですべて非表示にする方法を教えてください。
また、より良い方法がありましたら、教えてください。
<プログラムの概要>
VS2012C#のDataFridViewを使って年表を作ろうと思っています。
行数が多いため、10年ごとに区切って表示し、ボタンをクリックすると1年ごとのレ
コードが表示されるようにしようとしています。
例)
--------------
|+ |1900年|○○|
|+ |1910年|○○|
|+ |1920年|○○|
|+ |1930年|○○|
--------------
↓1910年の[+]をクリックしたら
--------------
|+ |1900年|○○|
|- |1910年|○○|
| |1911年|○○|
:
| |1919年|○○|
|+ |1920年|○○|
|+ |1930年|○○|
--------------
<困っている点>
下記に記載したようなプログラムを組んでおりますが、非表示にする処理に時間がか
かり起動が遅くなっています。
そこで、「すべての行を一括で非表示にしてから、必要な行のみを表示」に変更する
ことで処理が速くなるのではないかと考えています。
※必要な行を非表示にする場合:10行中9行を処理
必要な行を表示にする場合:10行中1行を処理 ←処理件数が減るため早くなる
のではないかと予想
すべての行を非表示にする方法として以下のよう点を調べましたが見つけられません
でした。
・行のデフォルトスタイルとして非表示にする
・表に非表示の行を追加する
・行の追加後、複数の行を一括で非表示にする
<現在作成したプログラム>
private void SET_DGV()
{
intYear = new int[intArraySize];
dgvMain.Rows.Add(intArraySize);
for (a = 0; a < intArraySize; a++)
{
intYear[a] = intYearMin+a;
if (intYear [a] % 10 == 0)
{
}
else
{
dgvMain.Rows[a].Visible = false;
}
}
}
※intYearMin ← 年表の初めの年
intArraySize ← 年表の年数・行数
No.1ベストアンサー
- 回答日時:
う~ん……
DataTableを作成してDataGridViewのDataSourceに設定、非表示の列を1つ追加しておいて
その列に対してDataTable.Select()で表示対象をSQLで取り出す。
とした方がいいんじゃないでしょうかね?
「+」のセルがクリックされたら、元のDataTableのRowにあたる位置を算出、非表示列で表示対象をSQLで取り出せるようにColumnを書き換えでRowを更新していって、
最後にDataTable.Select()で表示対象をSQLで取り出す。
取り出したDataTableを改めてDataGridViewのDataSourceに設定して、CurrentCellやら調整して……
うん、面倒ですな…。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SetDlgItemInt( ) c++
-
VB6で、長い時間かかる処理...
-
VBAのCallステートメントについて
-
回数を指定しないで空白行まで...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
文字の横にプルダウンを表示さ...
-
<SELECT>タグの折り返し
-
formで特定のinputを送信しない...
-
16進の10進変換について
-
リロード後にプルダウンの選択...
-
複数列を持ったリストボックス...
-
実行時エラー 3020の対策
-
FindFirst を複数条件で検索
-
pythonで演算子を変数に代入す...
-
レコード取得件数の表示位置に...
-
テーブル内でドロップダウンメ...
-
sendmailで複数の宛先にメール...
-
セレクトボックスの「選択して...
-
C++ コマンドプロンプトでの入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6で、長い時間かかる処理...
-
実行中の変数の中身をイミディ...
-
初回起動のみ判別したい
-
C言語のflagの使い方が分かりま...
-
処理終了後、他のページへジャ...
-
C#でDataFridViewの行をすべて...
-
回数を指定しないで空白行まで...
-
SetDlgItemInt( ) c++
-
perl:ループのカウンタ変数の値...
-
問題作成のWebアプリの作り方を...
-
UWSC SLCTBOXもしくはSELECTに...
-
STDINによるキーボードからの入...
-
Pythonでこのプログラミングを...
-
VBAのCallステートメントについて
-
Valueの値によってActionの送信...
-
フラグをたてる、、の意味を教...
-
C言語のプログラミング
-
arduino の割り込み処理について
-
教えてください。 画像処理のプ...
-
スカラー変数に処理を入れる
おすすめ情報