問題タブ [virtualmode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
.net - VirtualMode=True を使用しているときに WinForms ListView を更新するにはどうすればよいですか?
私は非常に遅い大きな ListView を持つアプリを持っているので、VirtualMode を実装しています。MSDN では、リストビューの途中で新しいアイテムを追加および削除する方法について説明していないようです。
たとえば、ListView には 1000 個のアイテム (ディスク上のファイルを表す) があり、(RetrieveVirtualItem イベントによる) ListView の最初の作成後、更新後に VirtualListSize が同じになるように、一部のファイルが削除され、一部のファイルが追加されます。
質問 1) ListView に「これらのアイテムは変更/削除されました」と伝えて、再クエリを実行するにはどうすればよいですか?
さらに、一部のファイルが変更されたので、変更されたステータスをリストビューに反映したいと思います。
質問 2) VirtualMode では、以前使用していた Items コレクションにアクセスできない場合 (そのコレクションで ContainsKey メソッドを使用しました)、リストビューで項目を見つけるにはどうすればよいですか。
簡単に聞こえますが、自分で見ることはできません。大変助かります。
ライアン
c# - 非同期で仮想モードでListViewにデータを入力するにはどうすればよいですか?
データベースのレコードをリストビューで表示したいのですが、取得には時間がかかる場合があります。RetrieveVirtualItemを使用して、新しいListViewItemが必要になったときに通知し、ダミーアイテムを追加して、取得を開始できます。しかし、データベースがレコードを返すとき、レコードをどうすればよいですか?ListViewがVirtualModeのときに、ListViewのItemsコレクションを更新できません。ListViewにアイテムをリロードするように指示する方法はありますか?または、ListViewItemへの参照を保持して、それを設定することはできますか?どちらも機能しない場合、仮想モードでListViewに非同期でデータを入力するにはどうすればよいですか?
c# - 仮想モードでデータグリッドから行を取得するときの C# 例外
仮想モードのデータグリッドから行のリストを取得すると、例外が発生し続けます (以下を参照)。これは、画面に表示できるよりも多くの行がある場合にのみ発生し、毎回発生するわけではありません。仮想モードに関して欠けているものはありますか?
更新> 下の画像は問題を示しており、インデックスがリストの範囲外になっています。この理由は、10 個のアイテムがあり、5 個は不要であるため非表示にしており、表示されている 5 個のコードを実行したい場合、現在 5 個のアイテムがありますが、一部のインデックスはおそらく 5 ~ 9 です。インデックスを再作成できますか? 表示されている 5 でいくつかのコードを実行したら、非表示の 5 を表示するので、これらを無視したくありません。すべて表示されたら、再度インデックスを作成する必要があります。どうもありがとう。
c# - ListViewがVirtualModeのときにListViewアイテムを並べ替える方法は?
ListViewがアイテムを収集するコレクションを並べ替える必要があることに気付きました
。ListViewlistCollection=new ListView();
しかし、これはListViewがGUIコントロールとしてフォームに追加されない限り機能しないようです。そのため、アイテムの追加が非常に遅くなります。そのため、そもそもGUI-ListViewでVirtualModeを使用する必要があります。 。
誰かがこれについて行く方法を知っているか、正しい方向に私を向けますか?
c# - 選択した項目が表示されていない場合、VirtualMode の C# ListView がちらつく
再現するのが複雑に聞こえることは承知していますが、フォローしてください:
あなたはListViewを持っていますVirtualMode = true.
項目を選択し、下にスクロールして、選択した項目が視覚領域の外に出てから、別の項目を ListView に追加してみます。
ほんの一瞬、異常な動作をし、何らかのちらつきが見られることがわかります。状況をエスカレートさせて、非常に高速に多くの項目を追加しようとすると (私は 1 秒あたり約 20 回追加します)、小さな問題が非常に大きくなることがわかります。ちらつきと無効なアイテムの組み合わせです。
問題を調査したところ、ListViewRetrieveVirtualItem
が選択した項目に対して多くのイベントを生成しているようです (明らかに表示されていません)。
新しいアイテムを追加する (VirtualListSize を増やす) と、ListView は最初に選択したアイテムに焦点を合わせてから、前の場所に戻ろうとするようです。
誰かが同じ問題を経験しましたか?
datagridview - 数百万行の仮想モードで空の Datagridview が遅くなる
sqlserver に接続された datagridview を作成しようとしています。しかし、単純なデータグリッドビューでも、数百万行をすばやく処理できないようです。そして、 上の行にスクロールすると、 datagridview の更新が著しく速くなり、最後の行までスクロールされます。
効果は次のとおりです。
''フォームには 3 列の datagridview が含まれています
回避策はありますか?
c# - DataRepeater コントロールの特定の項目に対するコントロールを無効にする
DataRepeater
C# Winforms アプリケーションで Visual Basic Power Packのコントロールを使用しています。コントロールはバインドされておらず、VirtualMode で動作しています。
このコントロールに複数のアイテムを表示しています。特定の基準に応じて、コントロールのボタンを無効にしたいと考えています。
データリピーターの _DrawItem イベントで次のことを試しました。
コントロール内の最後のアイテムがどうあるべきかに基づいて、ボタンが有効または無効になります。
アイテムごとに有効状態を制御する方法はありますか?
ありがとう
wpf - 「仮想」モードの WPF テキストボックス
「仮想」モードで TextBox を使用することは可能ですか。
ユーザーがドキュメントをスクロールするときに、オンデマンドでテキストを提供したいと考えています。
.net - VirtualMode の WinForms ListView は 100,000,000 行に制限されていますか?
ListView に表示したい > 500,000,000 行のグリッド シナリオがあります。
ListView を人為的に制限して 100,000,000 を表示する場合:
すべて正常に動作します (VirtualMode では自然に)。コードを次のように変更すると:
ListView に空のグリッドが表示される... これは Microsoft のバグですか? これはどこから来たのですか?これは Win32 ListView の制限ですか? 最も重要なのは、なぜこれが文書化されていないのですか?