DevExpress XtraReport报表开发相关知识点

tech2022-09-07  112

1、后台绑定DataSource,分组

/// <summary> /// 带参数的构造函数 /// </summary> /// <param name="ds">要绑定的数据集</param> public Pick_Report(DataSet ds) : this() { //if (!FormAssistant.IsDsNull(ds)) //{ DataSource = ds; DataMember = "Table1"; FillControlValue(ds); dt = ds.Tables[0]; //} } private void FillControlValue(DataSet ds) { //为XRLable绑定数据集及对应的字段 Company.DataBindings.Add("Text", ds.Tables[0], "工厂"); //XQDate.DataBindings.Add("Text", ds, "需求日期"); MainMemo.DataBindings.Add("Text", ds, "主表备注"); //PrintCount.DataBindings.Add("Text", ds, "打印次数"); BillNo.DataBindings.Add("Text", ds, "单据编号"); Dept.DataBindings.Add("Text", ds, "部门"); CQ.DataBindings.Add("Text", ds, "厂区"); RowCode.DataBindings.Add("Text", ds.Tables[0], "序号"); MaterialId.DataBindings.Add("Text", ds.Tables[0], "物料代码"); MaterialName.DataBindings.Add("Text", ds.Tables[0], "物料名称"); //MaterialGroup.DataBindings.Add("Text", ds, "物料组"); Warehouse.DataBindings.Add("Text", ds, "发料仓库"); //JSWarehouse.DataBindings.Add("Text", ds, "接收仓库"); Quantity.DataBindings.Add("Text", ds.Tables[0], "数量", "{0:f0}"); UnitId.DataBindings.Add("Text", ds.Tables[0], "单位"); BatchNo.DataBindings.Add("Text", ds.Tables[0], "批号"); //PPNo.DataBindings.Add("Text", ds, "工单号"); MaterialSpec.DataBindings.Add("Text", ds.Tables[0], "规格型号"); SumQty.DataBindings.Add("Text", ds.Tables[0], "数量", "{0:f0}"); SumQty.Summary = new XRSummary(SummaryRunning.Group, SummaryFunc.Sum, string.Empty); PerName.DataBindings.Add("Text", ds, "申请人"); //FLName.DataBindings.Add("Text", ds, "发料人"); //SLName.DataBindings.Add("Text", ds, "收料人"); //PriName.DataBindings.Add("Text", ds, "审核人"); GroupField df = new GroupField("单据编号"); GroupHeader1.GroupFields.Add(df); }

2、其他Form点击按钮调研打印预览

Pick_Report rp = new Pick_Report(ds); PreviewLocalizer.Active = new ChineaseReportLocalizer(); rp.ShowPreview();

3、点击打印按钮后事件:(我这里是用来更改打印次数)

 private void Pick_Report_PrintProgress(object sender, DevExpress.XtraPrinting.PrintProgressEventArgs e)         {             string BillNo = "('";             BillNo += dt.Rows[0]["单据编号"].ToString();             for (int i = 1; i < dt.Rows.Count; i++)             {                 BillNo +=  "','"+dt.Rows[i]["单据编号"].ToString() ;             }             BillNo += "')";             BillNo = BillNo.Replace(",''", "");             sql = " update MM_purPurchasePickMain set State = 20 where BillNo in "+BillNo;             if (!DB.AF.sqlExec(sql, sqlconnSAP, out errMsg))             {                 XtraMessageBox.Show(errMsg);             }         }

 

最新回复(0)