Thread Rating:
  • 353 Vote(s) - 2.86 Average
  • 1
  • 2
  • 3
  • 4
  • 5
RecordGrid 行の背景色制御について
05-08-2013, 10:38 AM,
#2
RE: RecordGrid 行の背景色制御について
レコードグリッドに読み込んで編集する前の値で判定して色をつけたいという意図でしたら、
例にあげられていた notified プロシージャをこのように変えてみてはどうでしょうか?

Code:
{define-proc public {notified rg:RecordGrid, r:Record, i:int}:#Background
||  {if {r.compare-field "Notified?", true} == 0 then
    {if {r.get "Notified?", pending? = false} == true then
        {return  {Background.from-string "silver"}}
     else
        {return null}
    }
}

CodeZineの掲載記事(*1)をみると、レコードグリッドで表示される行は表示される可能性が
でてきた際に随時作られているようなので、背景色設定のプロシージャもそのタイミングで
呼ばれるのではないかと思います。

このため、row-background-spec に指定したプロシージャが呼ばれた時点では、既に
レコードの値が更新されている可能性がありますが、幸い Recordクラスの get メソッドの
引数 pending? に false を指定すれば 更新前の値を取得できるようなので、この値を
参照して判定してみました。

ただし、レコードセットがレコードグリッドに読み込む前にプログラムや他のレコードグリッド
等で更新されていると期待しない結果になりそうですので、読み込むレコードセットは未更新
または更新されたレコードがcommitされている事が前提になりそうです。

*1:全機能を使い倒せ!大量データもグラフィカルに表示するCurlコントロール「RecordGrid」マニア
http://codezine.jp/article/detail/6113
Reply


Messages In This Thread
RE: RecordGrid 行の背景色制御について - by dyoshida - 05-08-2013, 10:38 AM
Forum Jump:


Users browsing this thread:
1 Guest(s)

MyBB SQL Error

MyBB has experienced an internal SQL error and cannot continue.

SQL Error:
1017 - Can't find file: 'mybb_threadviews' (errno: 2)
Query:
INSERT INTO mybb_threadviews (tid) VALUES('893')