RecordGridでレコード(行) を選択しても選択時の色にならない - NISHIKIDA - 06-11-2013
こんにちは。
RecordGridでセルの値を変更すると該当レコード(行) の背景色が黄色になるプログラムを作っています。
入力してセルの値を変えると該当レコード(行) の背景色が変更するようにはできたのですが
背景色を変更したレコード(行) を選択したとき、変更した背景色のまま表示されてしまいます。
背景色を変更したレコード(行) も、背景色を変更していないレコード(行) を選択したときと同じような色にしたいです。
解決方法がありましたら教えていただけると幸いです。
Code: {curl 8.0 applet}
{import * from CURL.GUI.CHARTS}
{import * from CURL.GUI.STANDARD}
{define-class public ClassA {inherits StandardStringCell}
{constructor public {default}
{construct-super}
}
{method public {refresh-data}:void
{super.refresh-data}
{if-non-null record:Record = self.record then
{if record.pending-update?
then
set self.background = "yellow"
set self.selected-background="blue"
else
{unset self.selected-background}
{unset self.selected-color}
}
}
}
}
{let RS:RecordSet =
{RecordSet
{RecordFields
{RecordField "BASE", domain = String},
{RecordField "Month_4", domain = int},
{RecordField "Month_5", domain = int},
{RecordField "Month_6", domain = int}
},
{RecordData BASE = "A", Month_4 = 120, Month_5 = 150, Month_6 = 200},
{RecordData BASE = "B", Month_4 = 100, Month_5 = 130, Month_6 = 115},
{RecordData BASE = "C", Month_4 = 90, Month_5 = 70, Month_6 = 80},
{RecordData BASE = "D", Month_4 = 130, Month_5 = 170, Month_6 = 150},
{RecordData BASE = "E", Month_4 = 500, Month_5 = 450, Month_6 = 500}
}
}
{def rg = {RecordGrid
record-source = RS,
height = 200,
width = 500,
{RecordGridColumn "BASE",cell-spec= ClassA},
{RecordGridColumn "Month_4",cell-spec= ClassA},
{RecordGridColumn "Month_5",cell-spec= ClassA},
{RecordGridColumn "Month_6",cell-spec= ClassA}
}
}
{value rg}
RE: RecordGridでレコード(行) を選択しても選択時の色にならない - umemura - 06-12-2013
super.refresh の後で、選択されていたら、リターンする方法でどうでしょう。
{if self.selected? then
{return}
}
RE: RecordGridでレコード(行) を選択しても選択時の色にならない - NISHIKIDA - 06-12-2013
ありがとうございます。
アドバイスのとおり実行したらイメージどおりの表示になりました。
Code: {curl 8.0 applet}
{import * from CURL.GUI.CHARTS}
{import * from CURL.GUI.STANDARD}
{define-class public ClassA {inherits StandardStringCell}
{constructor public {default}
{construct-super}
}
{method public {refresh-data}:void
{super.refresh-data}
{if self.selected? then
{return}
}
{if-non-null record:Record = self.record then
{if record.pending-update?
then
set self.background = "yellow"
else
{unset self.selected-background}
{unset self.selected-color}
}
}
}
}
{let RS:RecordSet =
{RecordSet
{RecordFields
{RecordField "BASE", domain = String},
{RecordField "Month_4", domain = int},
{RecordField "Month_5", domain = int},
{RecordField "Month_6", domain = int}
},
{RecordData BASE = "A", Month_4 = 120, Month_5 = 150, Month_6 = 200},
{RecordData BASE = "B", Month_4 = 100, Month_5 = 130, Month_6 = 115},
{RecordData BASE = "C", Month_4 = 90, Month_5 = 70, Month_6 = 80},
{RecordData BASE = "D", Month_4 = 130, Month_5 = 170, Month_6 = 150},
{RecordData BASE = "E", Month_4 = 500, Month_5 = 450, Month_6 = 500}
}
}
{def rg = {RecordGrid
record-source = RS,
height = 200,
width = 500,
{RecordGridColumn "BASE",cell-spec= ClassA},
{RecordGridColumn "Month_4",cell-spec= ClassA},
{RecordGridColumn "Month_5",cell-spec= ClassA},
{RecordGridColumn "Month_6",cell-spec= ClassA}
}
}
{value rg}
|