掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
データグリッドの縦スクロールバーで32594以上スクロールさせるには? (ID:120390)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>10万行超のデータベースファイルを >表示させようとしております。 これは無茶な仕様では無いのでしょうか?人間が見るのであれば そんなに表示しても理解できないでしょうし、必要ないと思います。 人間が見ないのであれば DataGrid を使う必要もありませんし。 データとしては10万件扱うとしても、一度に表示しなければならない 理由があるものなのでしょうか?。メモリと言う有限の資源を使う 以上、限界はあります。実行環境に応じて表示数の制限を作っておく のはこういったアプリを作る上では常識です。 それを踏まえた上で、 色々な条件下でテストして、もっと原因を特定しないと何とも言えません。 以下の環境で何の問題もなく表示されました。データグリッド自身の スクロールバーで上下させてレコードも選択してみましたが、特定の 行に移動されたり、移動が制限される現象は起こりませんでした。 ちなみに10万件まではやりました。…何の問題も無いです。…表示までに 8秒くらいは掛かりますが。 [VB6.0(Sp5),Win2000(Sp4),CPU1.60GHz,物理メモリ26MB] Option Explicit Private mLocalRs As ADODB.Recordset Private Sub Form_Load() Dim i As Long Set mLocalRs = New ADODB.Recordset With mLocalRs.Fields Call .Append(LocalRecordsetColumn.ID, adInteger, , adFldIsNullable) Call .Append(LocalRecordsetColumn.Namex, adVarChar, 50, adFldIsNullable) Call .Append(LocalRecordsetColumn.Text, adBSTR, , adFldIsNullable) End With With mLocalRs Call .Open For i = 1 To 35000 .AddNew .Fields(CStr(LocalRecordsetColumn.ID)) = i If i Mod 2 = 0 Then .Fields(CStr(LocalRecordsetColumn.Namex)) = "Name" & i \ 2 End If .Fields(CStr(LocalRecordsetColumn.Text)) = "Text" & 2 - i Mod 2 Next End With Set Me.Adodc1.Recordset = mLocalRs Set Me.DataGrid1.DataSource = Adodc1 End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.