protected void fvDeliveryBillMgrAdd_ItemCreated(object sender, EventArgs e)
 {
     //设置单据清单可见
     tabDataListSon.Visible = true;
     //清空送货单内容清单
     for (int i = 0; i < 6; i++)
     {
         //写入清单数据到控件
         SetBillContent(null, i);
     }
     //送货单号
     string billNum;
     //送货单号里面的数字序号
     Int64 iBillNum;
     //新增状态
     switch (fvDeliveryBillMgrAdd.CurrentMode)
     {
         case FormViewMode.Insert:
             //当前订单下单日期文本框
             var tb = (TextBox)fvDeliveryBillMgrAdd.FindControl("txtBillDate");
             if (tb != null)
             {
                 //检查用户提供的日期参数标识
                 string strBillDate = Request["bdate"];
                 DateTime dtBillDate;
                 if (strBillDate != null && strBillDate.Length > 0 &&
                     DateTime.TryParse(strBillDate, out dtBillDate))
                 {
                     //设置默认日期
                     tb.Text = dtBillDate.ToString("yyyy-MM-dd");
                 }
                 else
                 {
                     //设置日期为当前日期
                     tb.Text = DateTime.Now.ToString("yyyy-MM-dd");
                 }
             }
             //最大单据号+1
             tb = (TextBox)fvDeliveryBillMgrAdd.FindControl("txtBillNum");
             if (tb != null)
             {
                 //获取已经使用的最大单据号
                 using (var da = new t_delivery_bill_head_sampleTableAdapter())
                 {
                     //单据号
                     billNum = da.GetMaxBillNumByYear("S" + DateTime.Now.ToString("yy") + "%").ToString();
                     //检测有无数据
                     if (billNum.Length > 0 && Int64.TryParse(billNum.Substring(1), out iBillNum) && iBillNum > 1300000000)
                     {
                         //设置单据号+1
                         tb.Text = "S" + (iBillNum + 1).ToString();
                     }
                     else
                     {
                         //设置默认单据号
                         tb.Text = "S" + DateTime.Now.ToString("yy00000001");
                     }
                 }
             }
             //退出switch
             break;
         //修改或查看状态
         case FormViewMode.Edit:
         case FormViewMode.ReadOnly:
             //设置单据清单不可见
             tabDataListSon.Visible = false;
             //通过送货单号获取数据清单
             //取得传入的送货单号
             billNum = Request["bnum"];
             if (billNum != null && billNum.Length > 0 && Int64.TryParse(billNum, out iBillNum))
             {
                 //检测是否含有该表头数据
                 using (var daHead = new t_delivery_bill_head_sampleTableAdapter())
                 {
                     //获取数据
                     var tabHead = daHead.GetDataByBillNum(billNum);
                     //检测是否找到数据
                     if (tabHead.Rows.Count > 0)
                     {
                         //设置单据清单可见
                         tabDataListSon.Visible = true;
                         //获取清单
                         using (var daContent = new t_delivery_bill_content_sampleTableAdapter())
                         {
                             //获取数据
                             var tabContent = daContent.GetDataByBillNum(billNum);
                             //把内容写入页面
                             foreach (DataSetSampleDeliveryBillMgr.t_delivery_bill_content_sampleRow row in tabContent.Rows)
                             {
                                 //当前行号
                                 int i = row.row_id - 1;
                                 //写入清单数据到控件
                                 SetBillContent(row, i);
                             }
                         }
                     }
                 }
             }
             //退出switch
             break;
     }
 }
 protected void fvSampleDeliveryBillMgrAddM2_ItemCreated(object sender, EventArgs e)
 {
     //设置单据清单可见
     tabDataListSon.Visible = true;
     //清空样板送货单内容清单
     for (int i = 0; i < 6; i++)
     {
         //写入清单数据到控件
         SetBillContent(null, i);
     }
     //新增状态
     switch (fvSampleDeliveryBillMgrAddM2.CurrentMode)
     {
         case FormViewMode.Insert:
             //当前订单落单日期文本框
             var tb = (TextBox)fvSampleDeliveryBillMgrAddM2.FindControl("txtBillDate");
             //单据日期
             var dtBillDate = DateTime.Now.Date;
             if (tb != null)
             {
                 //检查用户提供的日期参数标识
                 string strBillDate = Request["bdate"];
                 DateTime dt;
                 if (strBillDate != null && strBillDate.Length > 0 &&
                     DateTime.TryParse(strBillDate, out dt))
                 {
                     //设置日期
                     dtBillDate = dt;
                 }
                 //设置日期为当前日期
                 tb.Text = dtBillDate.ToString("yyyy-MM-dd");
             }
             //最大单据号+1
             tb = (TextBox)fvSampleDeliveryBillMgrAddM2.FindControl("txtBillNum");
             if (tb != null)
             {
                 //获取已经使用的最大单据号
                 using (var da = new t_delivery_bill_head_sampleTableAdapter())
                 {
                     //单据号
                     var strBillNum = da.GetMaxBillNumByTypeAndYear(dtBillDate.ToString(@"\P2yy\%")).ToString();
                     //单据编号
                     Int64 iBillNum;
                     //检测有无数据
                     if (!string.IsNullOrWhiteSpace(strBillNum) &&
                         Int64.TryParse(strBillNum.Substring(1), out iBillNum) &&
                         iBillNum > 2160000000
                     )
                     {
                         //设置单据号+1
                         iBillNum += 1;
                     }
                     else
                     {
                         //设置默认单据号
                         iBillNum = Int64.Parse(dtBillDate.ToString("2yy0000001"));
                     }
                     //设置单据号到文本框
                     tb.Text = string.Format("P{0}", iBillNum);
                 }
             }
             //退出switch
             break;
         //修改或查看状态
         case FormViewMode.Edit:
         case FormViewMode.ReadOnly:
             //设置单据清单不可见
             tabDataListSon.Visible = false;
             //通过样板送货单号获取数据清单
             //取得传入的样板送货单号
             var strBillNum2 = Request["bnum"];
             //单据编号
             Int64 iBillNum2;
             if (!string.IsNullOrWhiteSpace(strBillNum2) &&
                 Int64.TryParse(strBillNum2.Substring(1), out iBillNum2) &&
                 iBillNum2 > 2160000000
             )
             {
                 //检测是否含有该表头数据
                 using (var daHead = new t_delivery_bill_head_sampleTableAdapter())
                 {
                     //获取数据
                     var tabHead = daHead.GetDataByBillNum(strBillNum2);
                     //检测是否找到数据
                     if (tabHead.Rows.Count > 0)
                     {
                         //设置单据清单可见
                         tabDataListSon.Visible = true;
                         //获取清单
                         using (var daContent = new t_delivery_bill_content_sampleTableAdapter())
                         {
                             //获取数据
                             var tabContent = daContent.GetDataByBillNum(strBillNum2);
                             //把内容写入页面
                             foreach (DataSetSampleDeliveryBillMgr.t_delivery_bill_content_sampleRow row in tabContent.Rows)
                             {
                                 //当前行号
                                 int i = row.row_id - 1;
                                 //写入清单数据到控件
                                 SetBillContent(row, i);
                             }
                         }
                     }
                 }
             }
             //退出switch
             break;
     }
 }
 protected new void Page_Load(object sender, EventArgs e)
 {
     //调用基类方法检测session是否存在
     base.Page_Load(sender, e);
     //删除全部数据
     Response.Clear();
     //检测是否含有session
     if (Session.Count < 5)
     {
         //跳转
         Response.Redirect("/Account/Login", true);
         //停止加载后续内容
         Response.End();
         //直接返回
         return;
     }
     //当前用户所在部门
     string procName = Session["proc_name"].ToString();
     //当前角色id
     Int16 roleId = Convert.ToInt16(Session["role_id"]);
     //检测是否有权限
     if (procName != mustProcName || roleId < 0 || roleId > 6)
     {
         //设置页面不可用
         throw new Exception("您没有打印该单据的权限!");
     }
     //用户传入的样板送货单号
     var bnum = Request["bnum"];
     if (bnum == null || bnum.Length == 0)
     {
         Response.Write("未检测到传入的样板送货单号!");
         return;
     }
     var billNums = bnum.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
     if (billNums.Length <= 0)
     {
         Response.Write("传入的样板送货单号不正确!");
         return;
     }
     //去重
     var lBillNum = new List<string>();
     foreach (var billNum in billNums)
     {
         if (!lBillNum.Contains(billNum))
         {
             lBillNum.Add(billNum);
         }
     }
     //排序
     lBillNum.Sort();
     //修改标题
     this.Title = "样板送货单预览 - " + bnum;
     //表头表身数据表
     tabHead = new DataSetSampleDeliveryBillMgr.t_delivery_bill_head_sampleDataTable();
     tabContent = new DataSetSampleDeliveryBillMgr.t_delivery_bill_content_sampleDataTable();
     //数据适配器
     using (var da = new t_delivery_bill_head_sampleTableAdapter())
     {
         //获取表头数据
         foreach (var billNum in lBillNum)
         {
             tabHead.Merge(da.GetDataByBillNum(billNum));
         }
         if (tabHead.Rows.Count <= 0)
         {
             Response.Write("未找到样板送货单!");
             return;
         }
     }
     //数据适配器
     using (var da = new t_delivery_bill_content_sampleTableAdapter())
     {
         //获取内容数据
         foreach (var billNum in lBillNum)
         {
             tabContent.Merge(da.GetDataByBillNum(billNum));
         }
     }
 }
 protected new void Page_Load(object sender, EventArgs e)
 {
     //调用基类方法检测session是否存在
     base.Page_Load(sender, e);
     //删除全部数据
     Response.Clear();
     //检测是否含有session
     if (Session.Count < 5)
     {
         //跳转
         Response.Redirect("/Account/Login", true);
         //停止加载后续内容
         Response.End();
         //直接返回
         return;
     }
     //当前用户所在部门
     string deptName = Session["dept_name"].ToString();
     //当前角色id
     Int16 roleId = Convert.ToInt16(Session["role_id"]);
     //检测是否有权限
     if (deptName != mustDeptName || roleId < 0 || roleId > 6)
     {
         //设置页面不可用
         throw new Exception("您没有打印该单据的权限!");
     }
     //用户传入的送货单号
     string billNum = Request["bnum"];
     if (billNum == null || billNum.Length == 0)
     {
         Response.Write("未检测到传入的样板送货单号!");
         return;
     }
     //修改标题
     this.Title = "样板送货单预览" + billNum;
     //数据适配器
     using (var da = new t_delivery_bill_head_sampleTableAdapter())
     {
         //获取表头数据
         var tab = da.GetDataByBillNum(billNum);
         if (tab.Rows.Count <= 0)
         {
             return;
         }
         //首行数据
         var row = (DataSetSampleDeliveryBillMgr.t_delivery_bill_head_sampleRow)tab.Rows[0];
         //设置值到控件
         litBillNum.Text = billNum.ToString();
         litCustName.Text = row.cust_name;
         litBillDate.Text = row.bill_date.ToString("yyyy年MM月dd日");
         litConsignor.Text = row.add_person;
     }
     //数据适配器
     using (var da = new t_delivery_bill_content_sampleTableAdapter())
     {
         //获取内容数据
         var tab = da.GetDataByBillNum(billNum);
         //遍历行
         foreach (DataSetSampleDeliveryBillMgr.t_delivery_bill_content_sampleRow row in tab.Rows)
         {
             //取得当前行序号
             Int16 i = row.row_id;
             //各显示数据的控件
             var litOrderNum = (Literal)this.FindControl("litOrderNum" + i.ToString());
             var litProductNum = (Literal)this.FindControl("litProductNum" + i.ToString());
             var litCustNum = (Literal)this.FindControl("litCustNum" + i.ToString());
             var litQty = (Literal)this.FindControl("litQty" + i.ToString());
             var litRemark = (Literal)this.FindControl("litRemark" + i.ToString());
             //设置数据到控件
             litOrderNum.Text = row.order_num;
             litProductNum.Text = row.product_num;
             litCustNum.Text = row.cust_num;
             litQty.Text = row.pcs_qty.ToString();
             litRemark.Text = row.IsremarkNull() ? string.Empty : row.remark;
         }
     }
 }