問題タブ [tstringgrid]

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.

0 投票する
4 に答える
30319 参照

delphi - TStringGrid で選択した行の背景色を設定する

選択された行 (最大 1、複数選択なし) が常に異なる背景色 (u)r を持つ必要がある TStringGrid があります。

DefaultDrawing プロパティを false に設定し、以下に示す OnDrawCell イベントのメソッドを提供しましたが、機能しません。それがどのように機能していないかを正確に説明することさえできません。できれば、すでに問題を解決していると思います。すべて同じ背景色の完全な行を持つ代わりに、それはごちゃまぜであると言えば十分です。複数の行には「選択された」色のセルがいくつかあり、選択された行のすべてのセルが選択された色を持つわけではありません。

セルの行を strnggrid の行と比較していることに注意してください。選択した行のセルのみが選択されているため、選択したセルの状態を確認できません。

0 投票する
2 に答える
3330 参照

delphi - レコードでのTStringGridからのデータの使用

後で使用するためにTStringGridからの情報を格納するために、PascalでレコードタイプTTableDataを作成しました。

しかし、TStringGridをトラバースしてセルから値を取得することにより、これらのオブジェクトを初期化しようとすると、値は(''、''、0)になります(いくつかのセルを除いて、どういうわけか問題はありません)。

TStringGridからデータを読み込むための手順は次のとおりです。

ここで何が起こっているのかよくわかりません。ブレークポイントを使用してコードをゆっくりとトラバースすると、データが最初に正しく読み込まれていることがわかります(2番目のforループからtableData [i、j]の上にマウスを置くと、現在の値が表示されます)。ループ自体でShowMessage(...)を実行しようとすると、値が間違って表示されます。

前もって感謝します、

0 投票する
3 に答える
13112 参照

delphi - Delphi TStringGrid の複数選択、選択された行の決定

multi-select で現在どの行が選択されているかを判断する方法はありますTStringGridTCustomGrid。物件が理想です。

イベントでgdSelected設定されるプロパティがあることは知っていますが、DrawCell

をチェックAStateしてgdSelected、どこかの配列でこれを追跡できますが、これは面倒です。

0 投票する
4 に答える
5683 参照

delphi - Delphi TStringGrid での単一選択と複数選択の検出

これは、以前の質問 Delphi TStringGrid の複数選択、 Delphi 文字列グリッドに関する選択された行の決定のフォロー アップです。それは別の質問です。

オブジェクトの ONSelectCell イベント TSelectCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; var CanSelect: Boolean) を詳しく調べていました。

TStringGrid.Selection.Top,Bottom プロパティが (イベント自体の中で) 必ずしも正確ではないことに気付きました。基本的に、誰かが複数の行を選択してから 1 つの行だけに変更した場合、selection.* プロパティは更新されませんが、複数の行を選択した場合は更新されます。

ARow パラメーターは、1 つまたは複数の行が選択されているかどうかに関係なく更新されますが、これは、1 つの行のみが選択されていると判断できる場合にのみ役立ちます。

たとえば、選択された行が 1 つだけの場合は Arow パラメータを使用し、複数の行が選択されている場合は Selection.* プロパティを使用して、現在選択されている行を特定します。

もっと簡単な方法があるはずです....

ありがとうございました!

0 投票する
2 に答える
2054 参照

delphi - Delphi、文字列グリッドは選択できません。行または列を選択できるようにするにはどうすればよいですか?

Delphi 5 で固定行と固定列の StringGrid を使用しています。しかし、実行モードでは、行やセルを選択できません。

文字列行またはセルを選択可能にする方法とプロパティは何ですか。

0 投票する
6 に答える
4609 参照

delphi - 最も有用な Delphi TStringGrid (グリッド) の置き換えに関する推奨事項

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

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

0 投票する
1 に答える
370 参照

datagridview - DelphiPrismのTStringGridの代替案

Delphi Prismで開発を始めたので、Delphi7以下で通常見られるTStringGridツールに似たグリッドツールがないことに気づきました。Delphi PrismにはDataGridViewがありますが、私の目的には簡単には役立ちません。実際、私がそれをセットアップして、ソフトウェアで希望どおりに機能させるようにしようとするたびに、それはまったく機能しません。私が理解していることから、DataGridViewはデータベースソースにデータを表示することを本当に望んでいます。

ですから、DelphiPrism用のDelphiTStringGridに代わるものがあるかどうかを知りたいと思います。

0 投票する
1 に答える
2758 参照

delphi - 文字列グリッドのコードの問題 (中央揃え)

Delphi:TStringGrid のセルのテキストを中央揃えにする方法は?

トップコード(OnDraw部分)を使用すると、最初のテキストが削除されず、古いテキストに新しいテキストが書き込まれ、1つのセルが複製されます。

0 投票する
3 に答える
52646 参照

delphi - delphi : 文字列グリッドのセルの色を変更するにはどうすればよいですか

Delphi の文字列グリッドのセルの背景色 (フォントではない) を変更したい。

行や列ではなく、1 つのセルだけです。

できますか?


RRUZ : あなたの手順は正しく機能しますが、私の手順では機能しません。

私の手順:

x は整数のグローバル配列です


以下のコードで Canvas.Brush.Color を使用すると、Canvas.Brush.Color が機能しません。コードの下で非アクティブな場合、セルの色を変更できます。しかし、私は両方が必要です。

0 投票する
1 に答える
3410 参照

delphi - Delphi:ファイルをTStringGridにロードします

ログファイルを作成するプログラムがあります。

これは、作成するログファイルの例です。

ここに画像の説明を入力してください

このプログラムは、このログファイルをTStringGridにロードします。ログファイルはタブ区切りです。セルにはスペース""を含めることができます。

TStringGridまたは代替手段を使用して、このプログラムのようにそのようなログファイルをロードするにはどうすればよいですか?

ありがとう!