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

📄 lgxform.vbs

📁 lgxgrid控件lgxgrid控件lgxgrid控件lgxgrid控件lgxgrid控件lgxgrid控件
💻 VBS
📖 第 1 页 / 共 2 页
字号:
   
   if (list=5 or list=6) and setc.checked=true then '不允许输入无效值
      rx=lgxgrid1.GetURow(row,2)
      if lgxgrid1.getdata(rx,2)="" or lgxgrid1.getdata(rx,3)="" or lgxgrid1.getdata(rx,4)="" then
        if newdata<>"" then
          lgxgrid1.setdata row,list,olddata
        end if  
      end if  
   end if

   dim webFileUrl
   dim SetOk
   dim SetMode
   
   rx=lgxgrid1.GetURow(row,2)
   
   SetOK=true
   if setc.checked=true then
     for i=2 to 4
        if lgxgrid1.getdata(rx,i)="" then SetOK=false
     next
     if lgxgrid1.getdata(row,6)="" then SetOK=false
   else
     for i=2 to 4
        if lgxgrid1.getdata(rx,i)="" then SetOK=false
     next
   end if
   
   if SetOK=true then
     if lgxgrid1.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
       if setc.checked=true then
          set DataXml=lgxgrid1.GetXmlDoc(row,row,2,lgxgrid1.lists-1)'获得数据的XML文档
          webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=N&Mode="+SetMode+"&TableName=Cz&AutoKey=True&TextKey=False&UpList=0"
       else
          set DataXml=lgxgrid1.GetXmlDoc(row,row,2,lgxgrid1.lists)'获得数据的XML文档
          webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=N&Mode="+SetMode+"&TableName=Dj&AutoKey=True&TextKey=False&UpList=0"
       end if   
     end if
     
     if SetMode="Update" then
       if setc.checked=true then
         set DataXml=lgxgrid1.GetXmlDoc(row,row,list,list)'获得数据的XML文档
         Key=lgxgrid1.getdata(row,1)
         UID=list-1
         webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=" & Key & "&Mode="+SetMode+"&TableName=Cz&AutoKey=True&TextKey=False&UpList=" & UID
       else
         set DataXml=lgxgrid1.GetXmlDoc(row,row,list,list)'获得数据的XML文档
         Key=lgxgrid1.getdata(row,1)
         UID=list-1
         webFileUrl=UrlD+"DataService.asmx/DataSetup?OldKey=" & Key & "&Mode="+SetMode+"&TableName=Dj&AutoKey=True&TextKey=False&UpList=" & UID
       end if
     end if
     
     set reXml=lgxgrid.ToGetWeb(webFileUrl,"Xml","Xml",DataXml)
     reTxt=reXml.SelectSingleNode("string").text
     if Val(reTxt)<>0 then '修改成功
        if Val(reTxt)>0 then lgxgrid1.setdata row,1,reTxt
        if setc.checked=true then '按组结算
           if list=5 or list=6 then
             rx=lgxgrid1.GetURow(row,2)
             if lgxgrid1.getdata(rx,2)<>"" and lgxgrid1.getdata(rx,3)<>"" and lgxgrid1.getdata(rx,4)<>"" then
               if list=6 then
                 rSum=val(lgxgrid1.getdata(rx,7))+val(newdata)-val(olddata)
                 lgxgrid1.setdata rx,7,rSum
               end if
             else
               lgxgrid1.setdata row,list,olddata
             end if
          end if
      end if '按组结算
      
    else '修改不成功
    
      if Val(reTxt)=0 then
         lgxgrid1.setdata row,list,Olddata
         msgbox(reTxt)
      end if
      
   end if '修改成功
   
 else
    if lgxgrid1.getdata(row,1)<>"" then '恢复数据
      lgxgrid1.setdata row,list,olddata
    end if   
 end if '修改许可

end Sub

sub databxShow1()'切换到按班组结算
  databx.style.visibility ="hidden"
  databx2.style.visibility ="visible"
  lgxgrid.clear
  lgxgrid.Comboclear 3
  lgxgrid.comadd 3,"text","班组"
  lgxgrid.comadd 3,"text","年度"
  
  lgxgrid2.clear
  lgxgrid3.clear

  lgxgrid1.SetLists 0,1,10,false
  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
  Call MyAddcom()
  Call CzSumx()  

end sub

sub databxShow2()'切换到按个人结算
  databx.style.visibility ="visible"
  databx2.style.visibility ="hidden"
  lgxgrid.clear
  lgxgrid.Comboclear 3
  lgxgrid.comadd 3,"text","编号"
  lgxgrid.comadd 3,"text","姓名"
  lgxgrid.comadd 3,"text","年度"
  lgxgrid.comadd 3,"text","班组"
  
  lgxgrid2.clear
  lgxgrid3.clear
  
  lgxgrid1.SetLists 0,1,10,false
  lgxgrid1.hadd "ID",1,0,false
  lgxgrid1.hadd "班组",2,1800,true
  lgxgrid1.hadd "工种",2,1700,true
  lgxgrid1.hadd "单价",1,1700,true
  Call MyAddcom2()
  Call CzSumE()
end sub

sub InR()'插入行
  if window.parent.Axgrid=1 then
    lgxgrid1.inrow lgxgrid1.nrow
  end if  
end sub

function Val(Data)'字符串转换为数值
  on error resume next
  if Data="" then
    Val=0
  else
    if mid(Data,len(Data),1)="%" then
      Val=mid(Data,1,len(Data)-1)/100
    else
      Val=CDbl(Data)
    end if
  end if
  if err.number<>0 then
    Val=0
  end if      
end function


 sub SNyear()'当前年度选项被点击
   lgxgrid.clear
   lgxgrid2.clear
 end sub
 
sub SelectSett()'进行工资结算
 if SetC.checked =true then
  SettC'按班组工资结算
 else
  SettW'按个人工资结算
 end if  
end sub	

sub SettC()'按班组工资结算
 on error resume next
 err.Clear 
 lgxgrid3.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=JsbSum"
      
      if Nyear.checked=true then
        FNyear="T"
      else
        FNyear="F"
      end if

      webFileUrl=UrlD+"DataService.asmx/FindDataE?FName=JsbSum&Fmd=A" & "&FNyear=" & FNyear
      '生成一条服务请求字符串
      set reXml=lgxgrid3.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
        lgxgrid3.XmlToGrid "Xml","",reXml
        GridUx lgxgrid3,2,3,2
      end if 
  end if 
end sub	

sub SettW()'按个人进行工资结算
 on error resume next
 err.Clear 
 lgxgrid2.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地址路径
      if Nyear.checked=true then
        FNyear="T"
      else
        FNyear="F"
      end if
      webFileUrl=UrlD+"DataService.asmx/FindDataE?FName=JseSum&Fmd=A" & "&FNyear=" & FNyear
      '生成一条服务请求字符串
      set reXml=lgxgrid2.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
        lgxgrid2.XmlToGrid "Xml","",reXml
        GridUx lgxgrid2,2,5,4
      end if 
  end if 
end sub	


 sub GridU(GridObj,Blist,Elist,Uns)'自动识别和合并单元格,用于产值表
    redim Dk1(Uns-1)
    redim Dk(Uns-1)
    for i=0 to Uns-1
      Dk1(i)=GridObj.getdata(1,Blist+i) '比较的初值
    next  
    Bk=1 '行初值
    Ek=Bk
    
    for i=2 to GridObj.rows
       for j=0 to Uns-1
         Dk(j)=GridObj.getdata(i,Blist+j)
       next
       
       DkT=true
       if Dk(0)="" then DkT=false
       
       Dk1T=true
       if Dk1(0)="" then Dk1T=false
       
       OkT=true
       for j=0 to Uns-1
         if Dk1(j)<>Dk(j) then OkT=false
       next
       
       if DkT=true and OkT=true then
         Ek=Ek+1
       else
          if Dk1T=true then
            for j=0 to Uns-1
              Dk1(j)=Dk(j)
            next    
            for Ui=Blist to Elist
              GridObj.GridUnite Bk,Ui,Ek,Ui,0 
            next
            GridObj.GridUnite Bk,7,Ek,7,0 
            Bk=Ek+1
            Ek=Ek+1
          end if 
        end if    
     next 
     
     if Dk1T=true and Ek>Bk then
       for Ui=Blist to Elist
          GridObj.GridUnite Bk,Ui,Ek,Ui,0 
       next
       GridObj.GridUnite Bk,7,Ek,7,0
     end if       
 end sub
 
  sub GridUx(GridObj,Blist,Elist,Uns)'自动识别和合并单元格,用于工资结算表
    redim Dk1(Uns-1)
    redim Dk(Uns-1)
    for i=0 to Uns-1
      Dk1(i)=GridObj.getdata(1,Blist+i) '比较的初值
    next  
    Bk=1 '行初值
    Ek=Bk
    
    for i=2 to GridObj.rows
       for j=0 to Uns-1
         Dk(j)=GridObj.getdata(i,Blist+j)
       next
       
       DkT=true
       if Dk(0)="" then DkT=false
       
       Dk1T=true
       if Dk1(0)="" then Dk1T=false
       
       OkT=true
       for j=0 to Uns-1
         if Dk1(j)<>Dk(j) then OkT=false
       next
       
       if DkT=true and OkT=true then
         Ek=Ek+1
       else
          if Dk1T=true then
            for j=0 to Uns-1
              Dk1(j)=Dk(j)
            next    
            for Ui=Blist to Elist
              GridObj.GridUnite Bk,Ui,Ek,Ui,0 
            next
            Bk=Ek+1
            Ek=Ek+1
          end if 
        end if    
     next 
     
     if Dk1T=true and Ek>Bk then
       for Ui=Blist to Elist
          GridObj.GridUnite Bk,Ui,Ek,Ui,0 
       next
     end if       
 end sub

⌨️ 快捷键说明

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