2016-12-14 18 views
0

データグリッドテーブルで、「選択済み」セルのバックグラウンドカラーを変更したいと思います。LiveCode:データグリッド内のセルの背景色を変更する方法

テーブルでは、ユーザーは各行のセルを選択できます(ユーザーが同じ行をクリックするたびに増加するカスタムプロパティを使用しました)。選択したセルを強調表示したいと思います。たとえば、そのセルのbg色を変更します。

どうすればいいですか? ありがとうございました。

答えて

0

:それはあなたにも、これを必要とすることもあります。

on mouseUp 
    set the opaque of the target to "true" 
    set the backColor of the target to "green" 
end mouseUp 
+0

これは、結局のところ、これらが単なるフィールドであるという事実に対する良い洞察です。フィールドにフォーカスがあると仮定して、これらのプロパティを設定する組み込みの方法がある場合、私はまだ興味があります。 – dunbarx

1

私はデータグリッドを使用していると言いたいと思いますが、データグリッドは理解できません。

dataGridは、複雑なLCオブジェクトであり、他のLCオブジェクト、グループ、およびビヘイビアで構成されています。各フィールドは次のように指定されている、と言う:FLD「コル1 0002」(最初の列、2行目)

だから、あなたは可能性:

on mouseUp 
    set the opaque of fld "col 1 0002" to "true" 
    set the backColor of fld "col 1 0002" to "red" 
    end mouseUp 

は今もこれを行うための「ネイティブ」な方法があるかもしれません、しかし、私はそれを知らない。

+0

ありがとうございました! ....しかしそれは動作しません...(そのようなオブジェクトエラーはありません)。私の問題は実際には、セルに対応するフィールドをどのようにしてそれを変更するかを知らないということです。セルの値にはアクセスできますが、フィールドオブジェクトにはアクセスできません。 – PatriceG

+0

私はついにこの問題を発見しました。私は自分のデータグリッドの列の名前を変更しましたが、それは他の名前では機能しません(たとえスクリプトで同じものを使用しても)。それは "Col 1"のようなあらかじめ定義された名前で動作します。ご協力いただきありがとうございます!私は質問で尋ねたように、「選択されたセル」を色付けするためにこれを使い果たしています。 – PatriceG

+0

私はあなたが他の答えを削除することができます、それは本当に最初のものと異なるわけではないと思う。 – PatriceG

0

新しいDGを作成し、それにいくつかのタブを入力して区切られたテキストを返すと、ハンドラは指定された「セル」を赤に変えます。

私は、以前の投稿で「end mouseUp」の後に偽の文字があったことに気付きます。私はそれを編集しましたが、これがあなたの問題を引き起こしたかもしれませんか?

+0

いいえ、私もそれに気づいた。 – PatriceG

0

興味のある "セル"にデータがありますか?このメソッドは、空の場合は機能しません。 "そのような物体はない"?私は、dunbarxの答えのおかげで、そして「ターゲット」の使用を追加することで方法を見つけた

on mouseUp 
    set the opaque of fld "col 2 0003" of grp "yourDG to "true" 
    set the backColor of fld "col 2 0003" of grp "yourDG" to "green" 
end mouseUp 
関連する問題