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

    技术2022-05-19  27

    //***********************************************************************//名    称: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)

     


    最新回复(0)