⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lgxform.vbs

📁 lgxgrid控件lgxgrid控件lgxgrid控件lgxgrid控件lgxgrid控件lgxgrid控件
💻 VBS
📖 第 1 页 / 共 2 页
字号:
sub LoadShow()'初始化表格
  on error resume next
  '定义数据列
  lgxgrid.hadd "逻辑",2,800,true
  lgxgrid.hadd "",2,600,true
  lgxgrid.hadd "条件项",2,1250,true
  lgxgrid.hadd "比较符",2,700,true
  lgxgrid.hadd "条件值",1,1200,true
  lgxgrid.hadd "",2,600,true
  
  '定义下拉列表项
  lgxgrid.comadd 1,"text","And"
  lgxgrid.comadd 1,"text","Or"
  
  lgxgrid.comadd 2,"text","("
  lgxgrid.comadd 2,"text","(("
  lgxgrid.comadd 2,"text","((("
  
  lgxgrid.comadd 3,"text","班组"
  lgxgrid.comadd 3,"text","年度"

 
  lgxgrid.comadd 4,"text","="
  lgxgrid.comadd 4,"text",">"
  lgxgrid.comadd 4,"text",">="
  lgxgrid.comadd 4,"text","<"
  lgxgrid.comadd 4,"text","<="
  lgxgrid.comadd 4,"text","<>"
  lgxgrid.comadd 4,"text","包含"
  lgxgrid.comadd 4,"text","不包含"
  lgxgrid.comadd 4,"text","is"
  lgxgrid.comadd 4,"text","not is"
  

  lgxgrid.comadd 6,"text",")"
  lgxgrid.comadd 6,"text","))"
  lgxgrid.comadd 6,"text",")))"
  
  '定义数据列和表头格式
  lgxgrid1.hadd "",1,0,false
  lgxgrid1.unite "ID",0,0,1,0,1
  lgxgrid1.hadd "",2,850,true
  lgxgrid1.unite "班组",0,1,1,1,1
  lgxgrid1.hadd "",2,750,true
  lgxgrid1.unite "工种",0,2,1,2,1
  lgxgrid1.hadd "",1,600,true
  lgxgrid1.unite "年度",0,3,1,3,1
  lgxgrid1.hadd "",1,1000,true
  lgxgrid1.unite "项目名称",1,4,1,4,1
  lgxgrid1.hadd "",1,900,true
  lgxgrid1.unite "产值明细",1,5,1,5,1
  lgxgrid1.unite "产    值",0,4,0,5,1
  lgxgrid1.hadd "",1,1020,false
  lgxgrid1.unite "总产值",0,6,1,6,1

  lgxgrid2.hadd "",1,0,false
  lgxgrid2.hadd "编号",1,1200,false
  lgxgrid2.hadd "姓名",1,1200,false
  lgxgrid2.hadd "年度",1,1200,false
  lgxgrid2.hadd "班组",1,1380,false
  lgxgrid2.hadd "工种",1,1200,false
  lgxgrid2.hadd "工时数",1,1200,false
  lgxgrid2.hadd "单价",1,1000,true
  lgxgrid2.hadd "应付工资",1,1300,false
  lgxgrid2.hadd "已付工资",1,1300,false
  lgxgrid2.hadd "对比",1,1280,false
  
  lgxgrid3.hadd "",1,0,false
  lgxgrid3.hadd "班组",1,1800,false
  lgxgrid3.hadd "年度",1,1500,false
  lgxgrid3.hadd "工种",1,1500,false
  lgxgrid3.hadd "工时数",1,1500,false
  lgxgrid3.hadd "总产值",1,1500,false
  lgxgrid3.hadd "应付工资",1,1500,true
  lgxgrid3.hadd "已付工资",1,1500,false
  lgxgrid3.hadd "实际应付工资",1,1500,false
   

  Call MyAddcom()'加载工种和班组下拉项目,此过程的代码由aspx初始化时生成
  
  call CzSumx()'显示产值数据
  
  '使表格可见
  databf.style.visibility ="visible"
  datab.style.visibility ="visible"
  databx2.style.visibility ="visible"
end sub



Sub SetData2(OldData,NewData,Row,List)'修改某员工的单价,使这位员工的单价不是默认值,而是特定的值
  on error resume next
 err.Clear

 if Olddata<>NewData and lgxgrid2.getdata(row,6)<>"小计" then '修改模式
   dim webFileUrl

   dim SetOk
   dim SetMode
   rx=lgxgrid2.GetURow(row,2)
   
   SetOK=true
   if lgxgrid2.getdata(rx,2)="" then SetOK=false

      
   if SetOK=true then
     if lgxgrid2.getdata(row,1)="" then 
        SetMode="Add"'新增状态
     else
        SetMode="Update"'修改状态
     end if
   end if 
       
   UrlT=Split(window.document.url,"/")
   for i=0 to UBound(UrlT)-1
      UrlD=UrlD & UrlT(i) & "/"
   next

   if SetOk=true then '修改许可
   
     if SetMode="Add" then
        MyXml="<Root>"
        MyXml=MyXml+"<Record><![CDATA[" & lgxgrid2.getdata(rx,2) & "]]><![CDATA[" & lgxgrid2.getdata(rx,5) & "]]><![CDATA[" & lgxgrid2.getdata(rx,6) & "]]><![CDATA[" & lgxgrid2.getdata(rx,4) & "]]><![CDATA[" & lgxgrid2.getdata(row,list) & "]]></Record>"
        MyXml=MyXml+"</Root>"
        webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=N&Mode="+SetMode+"&TableName=Udj&AutoKey=True&TextKey=False&UpList=0"
     end if
     if SetMode="Update" then
       MyXml="<Root>"
       MyXml=MyXml+"<Record><![CDATA[" & lgxgrid2.getdata(row,list) & "]]></Record>"
       MyXml=MyXml+"</Root>"
       Key=lgxgrid2.getdata(row,1)
       UID=5
       webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=" & Key & "&Mode="+SetMode+"&TableName=Udj&AutoKey=True&TextKey=False&UpList=" & UID
     end if
   
     set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","Text",MyXml)
     reTxt=reXml.SelectSingleNode("string").text
     if Val(reTxt)>0 then
       lgxgrid2.setdata row,1,reTxt
     else
       if  Val(reTxt)=0 then
         lgxgrid2.setdata row,list,Olddata
         msgbox(reTxt)
       end if
     end if 
     
     if Val(reTxt)<>0 then '修改成功
         lgxgrid2.setdata row,9, val(NewData)*val(lgxgrid2.getdata(row,7))
         lgxgrid2.setdata row,lgxgrid2.lists, val(lgxgrid2.getdata(row,9))-val(lgxgrid2.getdata(row,10))
         for i=row to lgxgrid2.rows
           if lgxgrid2.getdata(i,6)="小计" then
              lgxgrid2.setdata i,9,val(lgxgrid2.getdata(i,9))+(val(NewData)-val(Olddata))*val(lgxgrid2.getdata(row,7))
              lgxgrid2.setdata i,lgxgrid2.lists, val(lgxgrid2.getdata(i,lgxgrid2.lists))+(val(NewData)-val(Olddata))*val(lgxgrid2.getdata(row,7))
              exit for
            end if
         next
     end if'修改成功
     
    else
       lgxgrid2.setdata row,list,olddata
    end if  '修改许可
      
  else
   lgxgrid2.setdata row,list,olddata 
 end if '修改模式
 end sub
 
 
 Sub SetData3(OldData,NewData,Row,List)'修改某班组的应发工资,使它不是默认的值,而是修改的特定的值
  on error resume next
 err.Clear

 if Olddata<>NewData and lgxgrid3.getdata(row,4)<>"小计" then '修改模式
   dim webFileUrl

   dim SetOk
   dim SetMode
   rx=lgxgrid3.GetURow(row,2)
   
   SetOK=true
   if lgxgrid3.getdata(rx,2)="" then SetOK=false

      
   if SetOK=true then
     if lgxgrid3.getdata(row,1)="" then 
        SetMode="Add"'增加状态
     else
        SetMode="Update"'修改状态
     end if
   end if 
       
   UrlT=Split(window.document.url,"/")
   for i=0 to UBound(UrlT)-1
      UrlD=UrlD & UrlT(i) & "/"
   next

   if SetOk=true then '修改许可
   
     if SetMode="Add" then
        set myXml=lgxgrid3.GetXmlDoc(row,row,2,7)'获得数据的XML文档
        webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=N&Mode="+SetMode+"&TableName=CzGz&AutoKey=True&TextKey=False&UpList=0"
     end if
     if SetMode="Update" then
       set MyXml=lgxgrid3.GetXmlDoc(row,row,list,list)'获得数据的XML文档
       Key=lgxgrid3.getdata(row,1)
       UID=6
       webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=" & Key & "&Mode="+SetMode+"&TableName=CzGz&AutoKey=True&TextKey=False&UpList=" & UID
     end if
   
     set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","Xml",MyXml)
     reTxt=reXml.SelectSingleNode("string").text
     if Val(reTxt)>0 then
       lgxgrid3.setdata row,1,reTxt
     else
       if  Val(reTxt)=0 then
         lgxgrid3.setdata row,list,Olddata
         msgbox(reTxt)
       end if
     end if 
     
     if Val(reTxt)<>0 then '修改成功
         lgxgrid3.setdata row,9, val(lgxgrid3.getdata(row,7))-val(lgxgrid3.getdata(row,8))
         for i=row to lgxgrid2.rows
           if lgxgrid3.getdata(i,4)="小计" then
              lgxgrid3.setdata i,7,val(lgxgrid3.getdata(i,7))+(val(NewData)-val(Olddata))
              lgxgrid3.setdata i,lgxgrid3.lists, val(lgxgrid3.getdata(i,lgxgrid3.lists))+(val(NewData)-val(Olddata))
              exit for
            end if
         next
     end if'修改成功
     
    else
       lgxgrid3.setdata row,list,olddata
    end if  '修改许可
      
  else
   lgxgrid3.setdata row,list,olddata 
 end if '修改模式
 end sub
 
 sub CzSum()'查询产值数据
 on error resume next
 if setc.checked<>true then
   exit sub
 end if  
 err.Clear 
 lgxgrid1.clear
 if lgxgrid.getdata(1,3)<>"" then
      set MyXml=lgxgrid.GetXml(1,lgxgrid.rows)
      UrlT=Split(window.document.url,"/")
      for i=0 to UBound(UrlT)-1
        UrlD=UrlD & UrlT(i) & "/"
      next
      '获取http地址路径
      webFileUrl=UrlD+"DataService.asmx/FindData?FName=CzSum" 
      '生成一条服务请求字符串
      set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","Xml",Myxml)
      reT=reXml.SelectSingleNode("Root/Record").ChildNodes(0).Text
      if reT="" then reT=" "
      reTxt=Split(reT,",")
      if reTxt(0)="Error" then
        ETxt=Split(reTxt(1),"。")
        if ETxt(0)<>"没有查到任何记录" then
          msgbox(reTxt(1))
        end if  
      else
        lgxgrid1.XmlToGrid "Xml","",reXml
        GridU lgxgrid1,2,4,3
      end if 
   end if 
end sub

 sub CzSumx()'显示产值数据
 on error resume next
 err.Clear 
 lgxgrid1.clear
      MyXml="<Root>"
      MyXml=MyXml & "<Record><![CDATA[]]><![CDATA[]]><![CDATA[ID]]><![CDATA[>]]><![CDATA[0]]><![CDATA[]]></Record>"
      MyXml=MyXml & "<Record><![CDATA[and]]><![CDATA[]]><![CDATA[年度]]><![CDATA[=]]><![CDATA[" & year(now()) & "]]><![CDATA[]]></Record>"
      MyXml=MyXml & "</Root>"
      UrlT=Split(window.document.url,"/")
      for i=0 to UBound(UrlT)-1
        UrlD=UrlD & UrlT(i) & "/"
      next
      '获取http地址路径
      webFileUrl=UrlD+"DataService.asmx/FindData?FName=CzSum" 
      '生成一条服务请求字符串
      set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","text",Myxml)
      reT=reXml.SelectSingleNode("Root/Record").ChildNodes(0).Text
      if reT="" then reT=" "
      reTxt=Split(reT,",")
      if reTxt(0)="Error" then
        ETxt=Split(reTxt(1),"。")
        if ETxt(0)<>"没有查到任何记录" then
          msgbox(reTxt(1))
        end if  
      else
        lgxgrid1.XmlToGrid "Xml","",reXml
        GridU lgxgrid1,2,4,3
      end if 
end sub

 sub CzSumE()'显示单价数据
 on error resume next
 err.Clear 
 lgxgrid1.clear
      MyXml="<Root>"
      MyXml=MyXml & "<Record><![CDATA[]]><![CDATA[]]><![CDATA[ID]]><![CDATA[>]]><![CDATA[0]]><![CDATA[]]></Record>"
      MyXml=MyXml & "</Root>"
      UrlT=Split(window.document.url,"/")
      for i=0 to UBound(UrlT)-1
        UrlD=UrlD & UrlT(i) & "/"
      next
      '获取http地址路径
      webFileUrl=UrlD+"DataService.asmx/FindData?FName=Dj" 
      '生成一条服务请求字符串
      set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","text",Myxml)
      reT=reXml.SelectSingleNode("Root/Record").ChildNodes(0).Text
      if reT="" then reT=" "
      reTxt=Split(reT,",")
      if reTxt(0)="Error" then
        ETxt=Split(reTxt(1),"。")
        if ETxt(0)<>"没有查到任何记录" then
          msgbox(reTxt(1))
        end if  
      else
        lgxgrid1.XmlToGrid "Xml","",reXml
      end if 
end sub

 
Sub SetDataBj(OldData,NewData,Row,List)'设置班组产值或工种单价数据,当setc.checked=true时,为修改产值数据,否则为单价数据
  if (list=2 or list=3 or list=4) and setc.checked=true then '自动合并
     if lgxgrid1.GetURow(row+1,list)=row then
       '不许修改
       lgxgrid1.setdata row,list,olddata
       msgbox("对不起,不能修改已保存且合并了的“班组”或“工种”的数据,要修改这些记录,请先把它们删除,重新刷新数据后再输入新的记录。")
       exit sub
     end if  
     rx=lgxgrid1.GetURow(row-1,2)
     if lgxgrid1.getdata(row,2)=lgxgrid1.getdata(rx,2) and lgxgrid1.getdata(row,3)=lgxgrid1.getdata(rx,3) and lgxgrid1.getdata(row,4)=lgxgrid1.getdata(rx,4) and NewData<>"" then
        if lgxgrid1.getdata(row,6)="" and lgxgrid1.GetURow(row+1,2)<>row then
          '已合并了的和产值列不为空的不会自动向上合并
          lgxgrid1.SetExitEdit
          if rx=row-1 then
             for i=2 to 4
               lgxgrid1.GridUnite row-1,i,row,i,0 
             next 
             lgxgrid1.GridUnite row-1,7,row,7,0  
          else
             lgxgrid1.inrow row-1
             for i=1 to 6
                lgxgrid1.setdata row-1,i,lgxgrid1.getdata(row,i)
                lgxgrid1.setdata row,i,lgxgrid1.getdata(row+1,i)
                lgxgrid1.setdata row+1,i,""
              next
              lgxgrid1.setdata row+1,7,""
              lgxgrid1.SetNowGrid row,4
           end if
        end if   
     end if 
   end if '自动合并

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -