2016-07-29 9 views
0

私はDelphi Firemonkey GUIライブラリでTGridを使用しようとしていますが、私はここでかなりひどく落ちています。Delphi Firemonkey TGrid usage

この時点では、3つのセル、1つのストリングセル、2つのチェックボックスセルのTGridがあります。

現在実行中のグリッドは、3つの別々の列で表示されます。ただし、何も文字列セルに保存されず、セルをダブルクリックしない限りチェックボックスのセルは表示されません。チェックボックスのセルをクリックすると、チェックボックスが消えます。

私はここでいくつかの重要なステップを欠いていると思います。私はTGridクラスの関数、OnGetValueOnSetValueを見つけました。私はこれらが私の問題に関係するものでなければならないと思っていますが、問題をどのように使うのか全く分かりません。 (Sender: TObject; const ACol: Integer; const ARow: Integer; const Value: TValue)

ため

各呼び出しは、私が他のコントロールのイベントを作成するときに、あなたが送信者のパラメータとしてselfに渡しているように、送信者との仮定を作ってるんです。 AColとARowはかなり明らかです。しかし、私はTValueパラメータで失われています。テレビの値が何であるか把握できないようです。 EmbarcaderoはTValueのためにthis documentationを提供していますが、多くのことを教えてくれるわけではありません。

この時点で、単に値を表示するセルを取得し、クリックしたときに値を失うことはありません。私は何かが欠落しているに違いないことを知っていますが、どこを見なければならないのか分かりません。このウェブサイトのすべての質問と同様、DelphiのTGridに関連するその他のものは、時代遅れです(私はそれらが2003年までずっと伸びているのを見てきました)。

+0

これは、2003年にさかのぼることがどのように見られているのか分かりませんが、Firemonkeyはそれまで存在していませんでした。 –

+0

おそらく、それはFiremonkeyではなかったでしょう。TGridに関連するものが戻ってくるのを見て、その人々が言及した方法を探してみると、もはや存在しなくなりました。 – Zulukas

+0

[この質問への回答](http://stackoverflow.com/a/18987589/62576)は、TGridを使用する方法を示すDelphiコードです。 –

答えて

3

私は結局これを見つけたthis guide

短いストーリーでは、データはTGrid内に保持されません(私にはひどいと思われますが、なぜそれが理解できるか)。したがって、データ構造からデータを要求OnGetValue

OnGetValueとOnSetValue

、それは:

データを表示するために取得するためには、あなたがTGridオブジェクト自体(いない列)のための2つのイベントが必要です行と列を使用して構造内のデータを検索します。これはあなたのためにGUIにこれを置きます。

逆に、OnSetValueはGUIから行と列を使用して構造体データを供給します。これは将来的に誰かを助けることができる

希望、それはエンバカデロがあなたを語って気にしませんでした何かを見つけるために私にしばらく時間がかかった、あるいは少なくともどこかで見にあなたを指しています。

この2つの方法は、ガイドで説明した方法と同様に定義します。

関連する問題