項目總結

項目技術總結:
1,模式窗體:
1)父窗體代碼:
function GetStaffID()
  {
   r = window.showModalDialog('ShowStaffList.aspx?tenatID=<%= ViewState["TenantID"].ToString() %>&roleid=<%= ViewState["RoleId"].ToString() %>','','dialogWidth=50;dialogHeight=20;resizable=Yes;scroll=Yes;status=no');
            if(typeof(r) != 'undefined')
   {
    var arraylist = r.split(',');
    var dataId = '';//儲存所有ID的變量
    var dataName ='';//儲存所有名稱的變量
   
    //臨時數組
    var a;
   
    for(i=0;i<arraylist.length;i++)
    {
     a = arraylist[i].split('|');
     if(dataId == '') dataId += a[1];
     else dataId += "," + a[1];
    
     if(dataName == '') dataName += a[2];
     else dataName += "," + a[2];
    }
   
   }
           
            document.getElementById('HIdstaffid').value =dataId;
2)子窗體代碼:
  <script language="javascript" type="text/javascript"> 
     var ReturnValue = '';
 function AllChoose()
  {
  //清空數據集
   ReturnValue = '';
  //重新累加
   var ck = document.getElementsByTagName('input');
  
   for(i = 0; i < ck.length; i++)
   {
    if(ck[i].type == 'checkbox' && ck[i].checked && ck[i].name!='chkAll')
    {
     if(ReturnValue == '')
      ReturnValue += ck[i].id + "|" + ck[i].value;
     else
      ReturnValue += "," + ck[i].id + "|" + ck[i].value;
    }
   }
  }
 
  function Save()
  {
   AllChoose();
 
   if(ReturnValue == '')
    alert('請選擇!');
   else
   {
    
    window.parent.returnValue = ReturnValue;
    window.parent.close();
   }
  }
 
    function checkAllChoose()
 {
  var chall=document.getElementsByTagName("input");
  var alls=document.getElementById("chkAll");
  for(var i=0;i<chall.length;i++)
  {
   if(chall[i].type=="checkbox")
   {
    if(alls.checked)
    {
     chall[i].checked=true;
    }
    else
    {   
     chall[i].checked=false;
    }
   }
  }
 }
 </script>
2,生成樹  數據庫中有MenuPos列,父節點爲A時子節點爲AA
   /// <summary>
    /// 初始化樹
    /// </summary>
    public void CreateOperationTree()
    {
        int iLevel0, iLevel1;
        DataSet ds = new DataSet();
        TreeNode tempTreeNode = new TreeNode();
        bc.ALLSYSMENU("", -1, out ds);
        if (ds.Tables[0].Rows[0][0].ToString() == "0")
        {
            tvFunc.Nodes.Clear();
            iLevel0 = 1;
            foreach (DataRow dr in ds.Tables[1].Rows)
            {
                iLevel1 = Convert.ToString(dr["MenuPos"]).Length;
                if (iLevel1 == 0)
                {
                    continue;
                }
                //給節點賦值
                TreeNode addTreeNode = new TreeNode(Convert.ToString(dr["MenuName"]));//菜單名稱
                //addTreeNode.Target = "right";
                addTreeNode.Value = dr["MenuId"].ToString();//菜單的ID
                //頂級樹
                if (iLevel1 == 1)
                {
                    tvFunc.Nodes.Add(addTreeNode);
                    tempTreeNode = addTreeNode;
                }
                else
                {
                    for (int i = 0; i < (iLevel0 - iLevel1 + 1); i++)//回到上一級
                        tempTreeNode = tempTreeNode.Parent;
                    if (tempTreeNode != null)
                        tempTreeNode.ChildNodes.Add(addTreeNode);
                    tempTreeNode = addTreeNode;
                }
                tempTreeNode = addTreeNode;
                tempTreeNode.Expanded = false;
                iLevel0 = iLevel1;
            }
        }
    }
3,框架
使用框架可以獲得選擇的值,與模式窗體不同的是可以分頁
頁面中代碼:
javascript中的代碼爲:
 <script type="text/javascript" language="javascript">    
 
  function showiframe()
  {
 
  document.getElementById("proj").src="getAllBussines.aspx?tenantid=<%=zuhu%>";
 
  }
 
    </script>
aspx中代碼:
  <iframe id ="proj"  name="proj"  width="100%" height="100%"  hspace="0" vspace="0" marginHeight="0"  frameBorder="0" scrolling="auto"  >   
    </iframe>
框架中連接出的值:
子頁面中javascript代碼:
 <script language="javascript" type="text/javascript"> 
     var ReturnValue = '';
 function AllChoose()
  {
  //清空數據集
   ReturnValue = '';
  //重新累加
   var ck = document.getElementsByTagName('input');
  
   for(i = 0; i < ck.length; i++)
   {
    if(ck[i].type == 'radio' && ck[i].checked && ck[i].name!='chkAll')
    {
     if(ReturnValue == '')
      ReturnValue += ck[i].id + "|" + ck[i].value;
     else
      ReturnValue += "," + ck[i].id + "|" + ck[i].value;
    }
  
   }
  }
 
  function Save()
  {
   AllChoose(); 
   if(ReturnValue == '')
    alert('請選擇!');
   
   else
   {
       var arraylist = ReturnValue.split(',');
    var dataId = '';//儲存所有ID的變量
    var dataName ='';//儲存所有名稱的變量
   
    //臨時數組
    var a;
   
    for(i=0;i<arraylist.length;i++)
    {
     a = arraylist[i].split('|');
     if(dataId == '') dataId += a[1];
     else dataId += "," + a[1];
    
     if(dataName == '') dataName += a[2];
     else dataName += "," + a[2];
    }  
               
                parent.document.getElementById("hfMerchant").value=dataId;
                 parent.document.getElementById("txtMerchant1").value=dataName;
                window.close();
 
      }
   }
    </script>
子頁面中代碼:
 <asp:Button ID="btnSure" runat="server" Text="確定" OnClientClick="Save()" />
4,打印,批量打印
點擊打印後打印一張傳真:
     protected void btnPrint_Click1(object sender, EventArgs e)
    {
        try
        {
            System.Drawing.Printing.PrintDocument _document = new System.Drawing.Printing.PrintDocument();
            _document.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(_document_printpage);
            _document.Print();
        }
        catch(Exception ex)
        {
            ErrorLog.WriteLog(ex);
        }
    }
    void _document_printpage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
    {     
            string filepath = Server.MapPath("~/FAX/tiff") + "\\" + hidname.Value;
            e.Graphics.DrawImage(System.Drawing.Image.FromFile(@"" + filepath + ""), 0, 0);
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "click", "alert('打印成功')", true);      
    } 
批量打印:
 /// <summary>
    /// 批量打印傳真
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        string[] requstcom = Request.Form["chkbox"].Split(',');      
        System.Drawing.Printing.PrintDocument _document = new System.Drawing.Printing.PrintDocument();
        for (int i = 0; i < requstcom.Length; i++)
        {
            faxfileName = requstcom[i];          
            _document.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(_document_printpage);
            _document.Print();
            Thread.Sleep(3000);
        }
     
    }
    void _document_printpage(object sender,System.Drawing.Printing.PrintPageEventArgs e)
    { 
        string filepath = Server.MapPath("~/FAX/tiff") + "\\" + faxfileName;          
            e.Graphics.DrawImage(System.Drawing.Image.FromFile(@"" + filepath + ""), 0, 0);         
    }
5,生成樹
 public void CreateOperationTree(TreeView treeView)
    {
    
        int iLevel0, iLevel1;
        TreeNode tempTreeNode = new TreeNode();
        DataSet ds = new DataSet();
        DataSet dt = new DataSet();
        string Staffid = "";
        string popedom = "";
        string MenuId = "";
        //執行查詢員工權限樹函數
        if (GetOperId() != "")
        {
            Staffid = GetOperId();
            DataSet dsTanant;
            bc.tenantstafflist("", "", Staffid, "", out dsTanant);
            treeView.Nodes.Clear();
            for (int tem = 0; tem < dsTanant.Tables[1].Rows.Count; tem++)
            {
                popedom = "";
                TreeNode ZuhuTreeNode = new TreeNode();//菜單名稱
                ZuhuTreeNode.Target = "right";
                ZuhuTreeNode.Value = dsTanant.Tables[1].Rows[tem]["name"].ToString();//菜單的ID               
                treeView.Nodes.Add(ZuhuTreeNode);//添加租戶菜單
                ZuhuTreeNode.SelectAction = TreeNodeSelectAction.Expand;             
              
                //爲每個租戶添加系統菜單
                bc.QUERYALLSYSMENU(Staffid, dsTanant.Tables[1].Rows[tem]["companycode"].ToString(), out ds);  //查詢員工在該租戶下的所以菜單
                foreach (DataRow dw in ds.Tables[1].Rows)
                {
                    popedom += "{" + dw["MenuId"].ToString() + "}";
                }
                //查找到所有菜單
                bc.ALLSYSMENU("", -1, out dt);
                if (ds.Tables[0].Rows[0][0].ToString() == "0")
                {
                    iLevel0 = 1;
                    foreach (DataRow dr in dt.Tables[1].Rows)
                    {
                        MenuId = dr["MenuId"].ToString();
                        if (popedom.IndexOf("{" + MenuId + "}") >= 0)
                        {
                            iLevel1 = Convert.ToString(dr["MenuPos"]).Length;
                            if (iLevel1 == 0)
                            {
                                continue;
                            }
                            //給節點賦值
                            TreeNode addTreeNode = new TreeNode(Convert.ToString(dr["MenuName"]));//菜單名稱
                            addTreeNode.Target = "frmright";
                            addTreeNode.Value = dr["MenuId"].ToString();//菜單的ID
                            if (dr["AspName"].ToString() != "")
                            {
                                if (Convert.ToString(dr["AspName"]).Contains("?"))
                                {
                                    addTreeNode.NavigateUrl = Convert.ToString(dr["AspName"]) + "&tenantid=" + dsTanant.Tables[1].Rows[tem]["companycode"].ToString()+"&ID="+Staffid+"";//菜單連接的地址
                                }
                                else
                                {
                                    addTreeNode.NavigateUrl = Convert.ToString(dr["AspName"]) + "?tenantid=" + dsTanant.Tables[1].Rows[tem]["companycode"].ToString() + "&ID=" + Staffid + "";//菜單連接的地址
                                }
                            }
                            //頂級樹
                            if (iLevel1 == 1)
                            {
                                //treeView.Nodes.Add(addTreeNode);
                                ZuhuTreeNode.ChildNodes.Add(addTreeNode);
                                tempTreeNode = addTreeNode;
                                addTreeNode.SelectAction = TreeNodeSelectAction.Expand;   
                            }
                            else
                            {
                                for (int i = 0; i < (iLevel0 - iLevel1 + 1); i++)//回到上一級
                                    tempTreeNode = tempTreeNode.Parent;
                                if (tempTreeNode != null)
                                    tempTreeNode.ChildNodes.Add(addTreeNode);
                                tempTreeNode = addTreeNode;
                            }
                            iLevel0 = iLevel1;
                        }
                    }
                    treeView.CollapseAll();
                }
            }
        }    
    }
6,javascript中按enter鍵等於點搜索鍵
 function document.onkeydown()
     {
        var e=event.srcElement;
        if(event.keyCode==13)
        {
            document.getElementById("btnSearch").click();
            return false;
        }
     } 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章