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);
}
}