1998 年頃、私は TStringGrid に飽きて、長い旅を始めました。Roman Mochalev の ExGridView (ここでDelphi 2010/XE に移植)、developer Express の量子グリッド コントロール、それに付随する印刷スイート、Mike Lischke による Virtual Tree View など、仮想グリッド ビュー コントロールを多用しました。はい。ツリービューです。しかし、複数レベルのノードを作成しなければ、非常に優れた仮想グリッドにもなります。
結局、これらのどれも完璧ではありません。アプリケーションの要件には、次のものが含まれる場合があります。
印刷。もしそうなら、グリッドコンポーネントやその他のコンポーネントには印刷スイートに印刷サポートが組み込まれているため、 Developer Expressコンポーネントに行きます。
カスタムペイントがたくさんありますが、印刷はありません。もしそうなら、VCL のTDrawGridに戻ります。そうしないと、より複雑なストック ペインティング システムが邪魔になるからです。
シンプルに保ちます。もしそうなら、ExGridView コンポーネントをお勧めします。他の解決策はどれも 98% 達成できたようで、カスタム ペインティングの不具合や印刷の不具合などを解決するには、大量のメンテナンスが必要です。モデルのデータを表示する仮想グリッドを Windows 2000 時代のように見せたい場合は、ExGridView を使用します。
将来、ノード (ツリーのもの) をネストする必要がある可能性があります。次に、VirtualTreeView から始めて、今のところグリッドとして使用し、後でツリー機能をシームレスに追加します。
あなたのケースでは、私が考えてここにリストするよりも多くの「追加要件」が考えられます。しかし、あなたの選択を左右するのは、これらの「また」ものです。アプリケーションは 24 時間 365.25 日実行する必要がありますか? それでは、シンプルに保ち、後であなたを傷つける派手なことは避けてください.
印刷、見栄えの良いテーマ ペイントが必要であり、Developer Express コンポーネントを既に所有していると述べているため、これが最も論理的な選択肢です。これは、安定した成熟した高品質のコンポーネント スイートです。この質問を後で見る他の人にとって、私の唯一の警告は、それが複雑で重いソリューションであり、「TStringGrid よりも優れた実行可能なグリッドが必要なだけ」のすべての Delphi アプリに 100% 適していないことです。DevEx Quantum Grid は、「グループ化」機能など、これまでに Outlook で見たほぼすべてのグリッド機能をコピーできます。