对数据窗指定行、列字段加保护,并加以着色

来源:互联网 发布:人工智能产品代理 编辑:程序博客网 时间:2024/05/01 06:38

对数据窗指定行、列字段加保护,并加以着色

//***********************************************************************
//名    称:gf_set_protect(datawindow dw_setprotect,integer row,integer col)
//功    能:对数据窗指定行、列字段加保护,并加以着色
//参    数:
//              datawindow dw_setprotect:数据窗
//              integer    row          :行 
//              integer    col            :列
//返 回 值:无
//书 写 人:ljh  
//修改时间:2011-04-19
//***********************************************************************

INTEGER li_i
STRING 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)'")
 NEXT
ELSE 
 //改变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)

 

0 0