13

Delphi の弱点の 1 つはグリッド (TStringGrid など) です。グリッドは基本的な機能は優れていますが、印刷や外観のカスタマイズが必要になると難しくなります。私はそれを約15年間使用しているため、アプリにかなり組み込まれており、時間の経過とともに、TGridからRTFへの変換(MSWordを介した印刷用)のソリューションを自作し、T​​DrawGridを使用してもう少しカスタマイズしました. 私のソリューションは (まだ) Delphi 7 と Delphi XE の両方で動作する必要があります。たまたま、私のグリッドはどれも DB にバインドされておらず、すべてコードでセルに取り込まれています。

現在、レポートを整理し、フォームを「きれいにする」ことを計画しています。これは、グリッドをより機能的な実装に置き換えることを意味します。そこには負荷があり、そのうちの 2 つはDeveloper Express Quantum GridTMS Grid Packです。フォント、色、印刷を試す時間は非常に限られていますが、多くのグリッド/印刷表示レポートの組み合わせのどれを採用すべきかをお勧めします. 私は現在、レポート ジェネレーターを持っておらず、FastReports を検討していましたが、提案は受け付けています。

4

6 に答える 6

13

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 で見たほぼすべてのグリッド機能をコピーできます。

于 2011-06-28T13:30:39.080 に答える
7

Virtual Treeviewコンポーネントが可能性があります。アプリケーションでグリッドとして使用します。印刷は試していませんが、近いうちに試してみます。リッチ テキストまたは html にエクスポートできるため、その場合に役立ちます。

編集:ちなみに、これはオープンソースであり、非常に洗練されています。

EDIT2: コンポーネントの名前を修正しました。もともとこれを行っていましたが、リンクを作成したときに失われました。

于 2011-06-28T12:29:10.757 に答える
4

私はいつもKGridに興味をそそられてきました。ただし、いくつかの簡単なテストを超えて使用していません。無料の代替案に興味がある場合は、チェックする価値があります。

于 2011-06-28T13:29:50.537 に答える
4

ExpressQuantumGridを使用することを強くお勧めします!

TStringGridToCxGridを置き換え、TStringGridレガシー コードを に変換するファサード クラスについて考えることができますTcxGrid

于 2011-06-28T10:49:20.877 に答える
2

BergSoft NextGrids http://www.bergsoft.net/も検討してください。

費用はほとんどかからず、まともなサポートがあります

于 2011-06-28T09:35:37.297 に答える