by Hadad Eyal » 17 Jun 2015, 00:48
/**********************************************************************************************************************
Acc: public
-----------------------------------------------------------------------------------------------------------------------
Dscr: Sets DW's background color so odd rows are white and even rows are light grey.
Must be called AFTER DataObject is set.
-----------------------------------------------------------------------------------------------------------------------
Arg: adw - DataWindow
-----------------------------------------------------------------------------------------------------------------------
Log: 08mar2012 Michael Zuskin Initial version
**********************************************************************************************************************/
int li_start_pos = 1
int li_tab_pos
string ls_obj_list
string ls_obj_name
boolean lb_is_field
if not IsValid(adw) then return
if adw.DataObject = '' then return
// Make zebra background:
adw.Object.DataWindow.Detail.Color = "1073741824~tif(Mod(GetRow(), 2) = 0, RGB(220, 220, 220), RGB(255, 255, 255))"
// Make fields transparent:
ls_obj_list = adw.Describe("DataWindow.Objects")
li_tab_pos = Pos(ls_obj_list, "~t", li_start_pos)
do while li_tab_pos > 0
ls_obj_name = Mid(ls_obj_list, li_start_pos, (li_tab_pos - li_start_pos))
// Check if it's a field (regular or computed):
lb_is_field = (adw.Describe(ls_obj_name + ".DBName") <> "!" or adw.Describe(ls_obj_name + ".Type") = "compute")
if lb_is_field then
adw.Modify(ls_obj_name + ".Background.Mode='1'") // transparent
end if
li_start_pos = li_tab_pos + 1
li_tab_pos = Pos(ls_obj_list, "~t", li_start_pos)
//this is the adding code just for last occurrence
if li_tab_pos = 0 then
ls_obj_name = Mid(ls_obj_list, li_start_pos + 1,len(ls_obj_list))
lb_is_field = (adw.Describe(ls_obj_name + ".DBName") <> "!" or &
adw.Describe(ls_obj_name + ".Type") = "compute")
if lb_is_field then adw.Modify(ls_obj_name + ".Background.Mode='1'") // transparent
end if
loop
return