zoukankan      html  css  js  c++  java
  • hta+vbs+js+div+css (javascript是原生态的)

    talbe是javascript动态生成的,根据你的sql语句来的,分页是vbs用数组来造的轮子,vbs这脚本虽然强大,却没有返回数据集的东东,数组来做简单的分页还是比较简单的,批量跟新呢?是上传execl来更新的,最好是用vba操作execl的话,直接在execl里修改了立马更新数据库,只是个小工具,目前还不是很强大不是很满意,慢慢做,局限hta不能跨平台只能windows,不能和硬件结合。优点调用webservies不需要考虑域的问题,做一个小巧强悍的工具还是比较方便的,因为hta直接双击就OK了,在windos下还是目前发现最方便的。算式小玩下hta这个东东吧!注意是目前网上没有我这么干的人,明确的说是可以这么干,关键是你愿不愿意!架构太大千万别玩,感谢公司没给太多任务才有时间搞这个小东东,js还是必须要强悍。hta去写花了1周时间写了个抽奖程序!不过要我写是有代价的,必须特等奖!有时间以前上传。这个东西只能做些小东西,大东东还是java做服务端,强悍的js做客户端。
    ​示例图片:

    2. [代码]造的轮子比较粗糙,还要优化,没有用jquery,因为准备出事js方向的工作   
    function initDB(){
       //返回数据库对象
       var y = document.getElementById("gd").value;
       if(y == ""){
         document.getElementById("validate").innerHTML="工单号不能为空!";
         //document.getElementById("gd").focus();
         return true;
       }else{
          document.getElementById("validate").innerHTML="";
       }
       var usern = /^[a-zA-Z0-9_-]{1,}$/; 
       if (!y.match(usern)){
          { 
             alert("工单号只能由字母数字-组成 !");
             document.getElementById("gd").focus();
             return false; 
           }
       }
       if (y.length <14 || y.length > 14){
           alert("工单号为14个长度为数字,字母,-组成的字符串 !");
           document.getElementById("gd").focus();
           return false; 
       }
     
       strSql = "SELECT ta_ecm03,ecm03,ta_ecm09,ecm06,ecm45,ta_ecm08,ecm311,ecm301,ecm312,ecm313 FROM ecm_file WHERE ecm01 ='"+y+"' ORDER BY ta_ecm03,ecm03";
       ConnectDatabase("ORACLE","TOPDB","T41","T41","","","")
     
       //清空table表格
       if(document.getElementById("table").rows.length > 0){
          removeAll();
       }
        
       hh = GetLenOfField(strSql); //数据的列长
       ll = GetLenght(strSql); //数据的行长
       showPageInfo(ll,hh);
      
       var arrayObj;
       var jsArray;
       var arrayObjName;
       var jsArrayName; 
       //获得getSystemData(strSql)方法返回的数组对象
       arrayObj = getSystemData(strSql); 
       //利用VBArray函数把对象转换为数组
       jsArray = VBArray(arrayObj).toArray(); 
        
       arrayObjName = getSystemDataName(strSql); 
       jsArrayName = VBArray(arrayObjName).toArray();
        
       _table=document.getElementById("table");
       _table.border="0px";
       _table.width="1306px";
        
       //生成表格,采用appendChild
       //添加表名称到动态table第一行
       cur_page_info.innerHTML   =   "当前页:"+cur_page;
       var rowName=document.createElement ("tr"); //表名称行
       rowName.className="th" //'设置该行的样式;
       rowName.id=1;
       document.getElementById("newbody").appendChild (rowName);
       for(var i=1;i<=ll/hh;i++){
          var cellName=document.createElement ("td"); //表名称列
          cellName.Name = jsArrayName[i-1]; //获得表名称数据
          cellName.appendChild(document.createTextNode (cellName.Name)); 
          rowName.appendChild (cellName);
          document.getElementById("newbody").appendChild (rowName);
       }
        
       //添加表数据for嵌嵌套,因为vbs只能接受一维数组,所以加了K变量来叠加
       total_page = Math.ceil(ll/(ll/hh)/10);
       if (total_page == 1){
           var k=1;
           for(var i=1;i<=ll/(ll/hh);i++){
          var row=document.createElement ("tr");    //表数据行
            row.className="row_add" //'设置该行的样式;
          row.id=i;
          for(var j=1;j<=ll/hh;j++){
           var cell=document.createElement ("td");  //表数据列
           cell.id =jsArray[k-1];            //获得表数据
              //表单的行列控制
              cell.appendChild(document.createTextNode (cell.id));
           row.appendChild (cell); 
              k++;
          }
            //添加到newbodydiv中
          document.getElementById("newbody").appendChild(row);
        }flash动画http://www.huiyi8.com/donghua/
       }else{
       var k=1;
       for(var i=1;i<=10;i++){
      var row=document.createElement ("tr");    //表数据行
        row.className="row_add" //'设置该行的样式;
      row.id=i;
      for(var j=1;j<=ll/hh;j++){
       var cell=document.createElement ("td");  //表数据列
       cell.id =jsArray[k-1];            //获得表数据
          //表单的行列控制
          cell.appendChild(document.createTextNode (cell.id));
       row.appendChild (cell); 
          k++;
      }
        //添加到newbodydiv中
      document.getElementById("newbody").appendChild(row); 
      }
     }
    }
     
      var   cur_page   =   1;   
      var   total_page   =   1;   
       
      function   gotoPage(pageno){
         var y = document.getElementById("gd").value;
         strSql = "SELECT ta_ecm03,ecm03,ta_ecm09,ecm06,ecm45,ta_ecm08,ecm311,ecm301,ecm312,ecm313 FROM ecm_file WHERE ecm01 ='"+y+"' ORDER BY ta_ecm03,ecm03";
         ConnectDatabase("ORACLE","TOPDB","T41","T41","","","")
            
         hh = GetLenOfField(strSql); //数据的列长
         ll = GetLenght(strSql); //数据的行长
           
         var arrayObj;
         var jsArray;
         //获得getSystemData(strSql)方法返回的数组对象
         arrayObj = getSystemData(strSql); 
         //利用VBArray函数把对象转换为数组
         jsArray = VBArray(arrayObj).toArray();
          
         total_page = Math.ceil(ll/(ll/hh)/10);
        
        if(   pageno   <   1   )   { 
          cur_page_info.innerHTML   =   "当前页:"+cur_page;
          cur_page   =   1;
          document.getElementById("max").disabled=false;
          //alert(cur_page);  
        }else   if(   pageno   >=   total_page   )   { 
          cur_page   =   pageno;
          //alert("当前页"+cur_page);
          cur_page_info.innerHTML   =   "当前页:"+cur_page;
          if(cur_page == total_page){
            document.getElementById("min").disabled=false;
            removeRow();
            document.getElementById("max").disabled=true;
          }
          if (cur_page   ==  total_page){
          var k=(cur_page-1)*10*10+1;
           var num = (ll-(cur_page-1)*10*10)/10;
           for(var i=1;i<=num;i++){
          var row=document.createElement ("tr");    //表数据行
            row.className="row_add" //'设置该行的样式;
          row.id=i;
          for(var j=1;j<=ll/hh;j++){
           var cell=document.createElement ("td");  //表数据列
           cell.id =jsArray[k-1];            //获得表数据
              //表单的行列控制
              cell.appendChild(document.createTextNode (cell.id));
           row.appendChild (cell); 
              k++;
          }
            //添加到newbodydiv中
          document.getElementById("newbody").appendChild(row); 
          } 
          } 
        }   else   {   
           cur_page   =   pageno;
           cur_page_info.innerHTML   =   "当前页:"+cur_page;
           document.getElementById("max").disabled=false;
           if(cur_page <= 1){
              document.getElementById("min").disabled=true;
           }else{
                   document.getElementById("min").disabled=false;
           }
     
           removeRow();
           var k=(cur_page-1)*10*10+1;
           //var num = (ll-(cur_page-1)*10*10)/10;
           for(var i=1;i<=10;i++){
          var row=document.createElement ("tr");    //表数据行
            row.className="row_add" //'设置该行的样式;
          row.id=i;
          for(var j=1;j<=ll/hh;j++){
           var cell=document.createElement ("td");  //表数据列
           cell.id =jsArray[k-1];            //获得表数据
              //表单的行列控制
              cell.appendChild(document.createTextNode (cell.id));
           row.appendChild (cell); 
              k++;
          }
            //添加到newbodydiv中
          document.getElementById("newbody").appendChild(row); 
          }
        } 
      }
       
      function   showPageInfo(total_item,total_val){   
        if(   total_item.value   ==   0   )   {   
          total_page   =   1;   
        }   else   {   
          total_page   =   Math.floor((9   +   parseInt(total_item))   /   10);   
        }   
        var   txt   =  "  总页数:  "+Math.ceil(total_item/(total_item/total_val)/10); 
        var   prev_page   =   cur_page   -   1;
        var   next_page   =   parseInt(cur_page)   +   1;  
        if(   cur_page   >=   1   )   {  
          txt   +=   "       <input   type='button' id='min'  value=' < '   onClick='gotoPage(cur_page-1)'/>"
        }   else   {   
          txt   +=   "       <input   type='button'   value=' < '   onClick='gotoPage(cur_page-1)'   disabled/>" 
        }   
        if(cur_page   <   Math.ceil(total_item/(total_item/total_val)/10))   {
           txt   +=   "       <input   type='button' id='max'  value=' > '   onClick='gotoPage(cur_page+1)'/>"
        }   else   {   
          txt   +=   "       <input   type='button'   value=' > '   onClick='gotoPage(cur_page+1)'   disabled/>" 
        }   
        //disabled
        txt   +="   总行数:  "+total_item/(total_item/total_val);   
        page_info.innerHTML   =   txt;   
      //   window.alert(txt);   
      }
     
    function importExcel1(){
        if(document.getElementById('file1').value==""){
            alert("附件不可为空!");
            return false;
        }
        var oXL = new ActiveXObject("Excel.application"); 
        var filePath=document.getElementById('file1').value;
        var oWB = oXL.Workbooks.open(filePath);
        oWB.worksheets(1).select();
        var oSheet = oWB.ActiveSheet;
        var row=null;
        var cell=null;
        if(row == null){
            row = oSheet.usedrange.rows.count;
            cell = oSheet.usedrange.columns.count;
            var array=new Array(row-1,cell-1); 
            for(i = 1;i<=row;i++){
                for (j=1;j<=cell;j++)
                {
                   //保存在2维数组里面
                   array[i-1,j-1] = oSheet.Cells(i,j).value;
                }
            }
        }
        oXL.Quit();
        document.getElementById('file1').value="";
    }

  • 相关阅读:
    洛谷 P2327 [SCOI2005]扫雷 题解
    P1388 算式 题解
    P1281 书的复制 题解
    P2896 [USACO08FEB]一起吃饭Eating Together 题解
    P1140 相似基因 题解
    变量的解构赋值
    let 和 const 命令
    第一阶段站立会议8
    第一阶段站立会议7
    第一阶段站立会议6
  • 原文地址:https://www.cnblogs.com/xkzy/p/3868000.html
Copyright © 2011-2022 走看看