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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Excel(エクセル) 非表示にしたい行をグループ化して折り畳み 4 2022/09/17 20:17
- Visual Basic(VBA) 【Excel VBA】条件に合った行の表示・非表示を行う方法 3 2023/03/18 12:31
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Excel(エクセル) 【マクロ】リボン、行列、数式・ステータスバを非表示に 4 2022/12/12 07:32
- Excel(エクセル) 【マクロ】マクロが保存されているエクセルとは、別のエクセルブックの全シートの非表示列を再表示したい 1 2022/12/24 20:48
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- C言語・C++・C# このプログラミングの問題を教えて欲しいです。 キーボードから整数kを入力し、kが配列aの中に何個存在 2 2022/12/19 22:50
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/06/19 10:08
- PowerPoint(パワーポイント) エクセルのマクロについて教えてください。 1 2022/03/25 17:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
$postflag=1とか$flag=1とかっ...
-
バッファリング処理を高速化し...
-
CLispのloop内の挙動について
-
Application.ScreenUpdating = ...
-
パイソンのクラスについて
-
Pythonでターミナルに文字を出...
-
どちのほうがすきですか?
-
パイソンのクラスのブログラム
-
パイソンのクラスについて
-
パイソンプログラミング
-
【メモリ不足で落ちる(python)】
-
パソコン → パャRン
-
vscode 文字化け
-
[python] 文字列を変数名として...
-
メモリをアドレスを直接指定し...
-
JSONで文字列が長い時
-
実行時エラー 3020の対策
-
<SELECT>タグの折り返し
-
c++の構造体について
-
int(input("○○"))の使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6で、長い時間かかる処理...
-
C言語のflagの使い方が分かりま...
-
VBAのCallステートメントについて
-
実行中の変数の中身をイミディ...
-
処理終了後、他のページへジャ...
-
初回起動のみ判別したい
-
回数を指定しないで空白行まで...
-
問題作成のWebアプリの作り方を...
-
UWSC SLCTBOXもしくはSELECTに...
-
フラグをたてる、、の意味を教...
-
perl:ループのカウンタ変数の値...
-
夕方くらいから急にGoogle検索...
-
バッファリング処理を高速化し...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
どちのほうがすきですか?
-
formで特定のinputを送信しない...
-
文字の横にプルダウンを表示さ...
-
16進の10進変換について
-
実行時エラー 3020の対策
おすすめ情報