clientdataset
はデータベースなしのRAMにあり、ネットワーク内のアクティブノードのリストを保持しています。
ノードは、それらが生存していることを継続的に報告し、データセットを更新したままにします。
データセットはdbgrid
に表示されます。更新されていないクライアントデータレコードを自動削除する方法
ノードがレポートのステータスを停止すると、数秒間使用しないとデータベースから削除されます。
これは、フィールドが更新されたときにタイムアウトフィールドを更新することで行います。
私は毎秒、古いレコードを削除するデータセットを繰り返します。
これは機能しますが、OnDrawColumnCell
が列の色をカスタマイズするために1行のグリッドをリフレッシュすると、グリッドがちらつくことがあります。私はDisableControls
/EnableControls
と呼んでいますが、OnDrawCell
がちらつきを引き起こすグリッドを再描画するまでわずかな遅延があるようです。
古いレコードを削除するために繰り返しを無効にすると、フリッカーは停止します。
これを行うより良い方法はありますか?あなたのグリッドにちらつきを最小限に抑えるために
これはまだ試しましたか? – MartynA
いいえ再起動後にちらつきが消えました。なぜ私は考えていない。 – AndersJ
ありがとうございます。答えを書くのに苦労したので、その結果を知ってうれしいです。 – MartynA