//***********************************************************************//名 称:gf_set_protect(datawindow dw_setprotect,integer row,integer col)//功 能:对数据窗指定行、列字段加保护,并加以着色//参 数:// datawindow dw_setprotect:数据窗// integer row :行 // integer col :列//返 回 值:无//书 写 人:ljh //修改时间:2011-04-19//***********************************************************************
INTEGER li_iSTRING ls_str
dw_setprotect.setredraw(FALSE) //重设背景dw_setprotect.modify("#" + STRING(col)+".background.mode=2")dw_setprotect.modify("#" + STRING(col)+".background.color=16777215")
IF row = 0 THEN //改变某列颜色 ls_str = "#" + STRING(col)+".background.color = '536870912~trgb(230,230,230)' )" dw_setprotect.modify(ls_str) ls_str = "#" + STRING(col)+".protect = '1'" dw_setprotect.modify(ls_str)ELSEIF col = 0 THEN // 改变某行颜色 dw_setprotect.Modify("DataWindow.Detail.Color= '1000~tif( getrow() = " +STRING(row)+ ",rgb(230,230,230),536870912) '") FOR li_i = 1 TO INTEGER(dw_setprotect.Object.DataWindow.Column.Count) dw_setprotect.modify(ls_str) dw_setprotect.modify("#" + STRING(li_i)+ ".protect = '0~tif( getrow() = " +STRING(row)+ " ,1,0)'") NEXTELSE //改变cell颜色 ls_str = "#" + STRING(col)+".background.color = '1000~tif( getrow() = " +STRING(row)+ ",rgb(230,230,230),536870912) '" dw_setprotect.modify(ls_str) dw_setprotect.modify("#" + STRING(col)+ ".protect = '0~tif( getrow() = " +STRING(row)+ " ,1,0)'")
END IF
dw_setprotect.setredraw(TRUE)