MSFlexGridに投入したデータを表示させようとしているのですが、
データ投入件数が多いと後半のデータが見れないようになって
しまって困っています。
MSFlexGridはスクロールさせて投入されているデータを全て見れる
ようにしているのですが、多いと途中から文字が消えてしまいます。
MSFlexGridの高さには最大値があるのでしょうか?
投入しているデータ数は4万件位です。データが1000列を過ぎる位
になると文字消えが起こります。MSFlexGridのRow.Heightは240に
しています。
どなたか教えて頂けますでしょうか。
> 投入しているデータ数は4万件位です。データが1000列を過ぎる位
> になると文字消えが起こります。
4万行×1000列のデータは表示できません。
MSFlexGrid(≠MSHFlexGrid)は、使用可能なセル数が、
最大で350,000セルまでに制限されていますので。
データの最大が4万行なら、横方向には8列が限界となります。
列方向を優先するなら、1000列表示で350行が限界でしょう。
行数を減らすことは実質不可能だと思うので
列数を減らすべきかな
1000列あるグリッドなんて見たくないけど・・・
一度に表示するのは350行でボタン押下で
[前のページへ][後ろのページへ]移動できる
ようにするとか。
1000列あるグリッドなんて見たくないけど・・・w
そんな大量のデータを一度に把握できる人間は
少ないと思うけど、ホントに表示する必要が
あるんですか?
やろうと思えば、先の回答に
> MSFlexGrid(≠MSHFlexGrid)は、使用可能なセル数が、
と仄めかして書いたように、MSFlexGrid(フレキシブルグリッド)のかわりに
MSHFlexGrid(階層フレキシブルグリッド)を使うことで、
1000列40000行のセルを用意する事はできるのですけれどね。
しかし、実際のユーザー操作を考えてみた場合、1000×40000以上のセルを、
画面上に一度に表示できるわけではありませんから、そもそもの画面設計や
データの持たせ方を再考した方が、最終的には良い結果となると思います。
何しろ、1つのセルが1バイトしか消費しないとしても、1000×40000 とも
なれば、単純計算で38MB以上のメモリが必要となりますからね……。(^_^;)
# 私の環境では、MSHFlexGrid のセル数を 1000×40000 にしただけで、
# メモリ使用量が130MBになりました。(データを入れてない状態で)
>投入しているデータ数は4万件位です。データが1000列を過ぎる位
『1000列』ではなく、『1000行』を過ぎる位でした。
また列数は22です。
1行22列で、行には時間を当てはめています。
間違った質問で、すみませんでした。
1000*22でも相当なデータ量ではある
グリッドで閲覧するのにその項目全てが必要なのか?
22000セルといえばエクセルでも相当な数だということは認識していると思うが
その画面で本来の目的に見合った設計が行われないないような気がする
面倒だからSQLやインポートやリンク的なメソッド・プロパティでがっつり取得して
全て格納してまえ!だったらなお最悪・・・
↑の書込み
思ったこと書いてたら日本語めちゃくちゃになったが・・・
ニュアンスは伝わると思う・・・
ツイート | ![]() |