DevExpressでのレポートツールバーおよび表示状態設定
DevExpressのツールバーは、表示または非表示に設定できます.表示方法は、ポップアップウィンドウと親ウィンドウの内部に表示されます.コードは次のように実現されます.
tabpageサブフォームに次のように表示されます.
レポートの内部データバインド:
// ,
XtraReport report = new rptSYDWHuiZong(JGSYCode);
PrintControl printCtrl = new PrintControl();
printCtrl.PrintingSystem = report.PrintingSystem;
PrintBarManager printBarMgr = new PrintBarManager();
printBarMgr .ItemClick +=new DevExpress.XtraBars.ItemClickEventHandler(printBarMgr_ItemClick);
printBarMgr.Form = printCtrl;
printBarMgr.Initialize(printCtrl);
printBarMgr.MainMenu.Visible = false;
printBarMgr.AllowCustomization = false;
printBarMgr.AllowMoveBarOnToolbar = false;
printCtrl.PrintingSystem.SetCommandVisibility(
new PrintingSystemCommand[]{
//PrintingSystemCommand.Find,
PrintingSystemCommand.Open,
PrintingSystemCommand.Save,
//PrintingSystemCommand.Scale,
PrintingSystemCommand.Watermark,
PrintingSystemCommand.Parameters,
PrintingSystemCommand.ExportMht,
//PrintingSystemCommand.ExportXls ,
//PrintingSystemCommand.ExportXlsx ,
PrintingSystemCommand.ExportPdf ,
PrintingSystemCommand.ExportTxt ,
PrintingSystemCommand.ExportRtf,
PrintingSystemCommand.ExportXps,
PrintingSystemCommand.ExportHtm,
PrintingSystemCommand.ExportGraphic,
PrintingSystemCommand.Zoom ,
PrintingSystemCommand.SendCsv,
PrintingSystemCommand.SendFile,
PrintingSystemCommand.SendGraphic,
PrintingSystemCommand.SendMht,
PrintingSystemCommand.SendPdf,
PrintingSystemCommand.SendRtf,
PrintingSystemCommand.SendTxt,
PrintingSystemCommand.SendXls,
PrintingSystemCommand.SendXlsx,
PrintingSystemCommand.SendXps,
PrintingSystemCommand.EditPageHF,
PrintingSystemCommand.ClosePreview,
PrintingSystemCommand.Scale,
PrintingSystemCommand.ExportCsv,
PrintingSystemCommand.FillBackground,
PrintingSystemCommand.HandTool,
PrintingSystemCommand.Zoom,
PrintingSystemCommand.Find ,
PrintingSystemCommand.PageSetup ,
PrintingSystemCommand.ShowFirstPage ,
PrintingSystemCommand.ShowLastPage,
PrintingSystemCommand.ZoomToPageWidth ,
PrintingSystemCommand.PageLayoutContinuous
}, CommandVisibility.None);
report.CreateDocument();
panelMain.Controls.Add(printCtrl);
printCtrl.Dock = DockStyle.Fill;
tabpageサブフォームに次のように表示されます.
void frmReportInner_Load(object sender, EventArgs e)
{
// ,
XtraReport rpt = new rptDemo();
PrintControl printCtrl = new PrintControl();
printCtrl.PrintingSystem = rpt.PrintingSystem;
PrintBarManager printBarMgr = new PrintBarManager();
printBarMgr.Form = printCtrl;
printBarMgr.Initialize(printCtrl);
printBarMgr.MainMenu.Visible = false;
printBarMgr.AllowCustomization = false;
printCtrl.PrintingSystem.SetCommandVisibility(
new PrintingSystemCommand[]{
//PrintingSystemCommand.Find,
//PrintingSystemCommand.Open,
//PrintingSystemCommand.Save,
//PrintingSystemCommand.Scale,
//PrintingSystemCommand.Watermark,
PrintingSystemCommand.Parameters,
PrintingSystemCommand.ExportMht,
PrintingSystemCommand.ExportRtf,
PrintingSystemCommand.ExportXps,
PrintingSystemCommand.ExportHtm,
PrintingSystemCommand.ExportGraphic,
PrintingSystemCommand.SendCsv,
PrintingSystemCommand.SendFile,
PrintingSystemCommand.SendGraphic,
PrintingSystemCommand.SendMht,
PrintingSystemCommand.SendPdf,
PrintingSystemCommand.SendRtf,
PrintingSystemCommand.SendTxt,
PrintingSystemCommand.SendXls,
PrintingSystemCommand.SendXlsx,
PrintingSystemCommand.SendXps,
PrintingSystemCommand.EditPageHF,
PrintingSystemCommand.ClosePreview
}, CommandVisibility.None);
rpt.CreateDocument();
xtraTabPage1.Controls.Add(printCtrl);
printCtrl.Dock = DockStyle.Fill;
XtraReport rpt2 = new rptDemo();
PrintControl printCtrl2 = new PrintControl();
printCtrl2.PrintingSystem = rpt2.PrintingSystem;
PrintBarManager printBarMgr2 = new PrintBarManager();
printBarMgr2.Form = printCtrl2;
printBarMgr2.Initialize(printCtrl2);
printBarMgr2.MainMenu.Visible = false;
printBarMgr2.AllowCustomization = false;
printCtrl2.PrintingSystem.SetCommandVisibility(
new PrintingSystemCommand[]{
PrintingSystemCommand.Find,
PrintingSystemCommand.Open,
PrintingSystemCommand.Save,
PrintingSystemCommand.Scale,
PrintingSystemCommand.Parameters,
PrintingSystemCommand.Watermark,
PrintingSystemCommand.ExportMht,
PrintingSystemCommand.ExportRtf,
PrintingSystemCommand.ExportXps,
PrintingSystemCommand.ExportHtm,
PrintingSystemCommand.ExportGraphic,
PrintingSystemCommand.SendCsv,
PrintingSystemCommand.SendFile,
PrintingSystemCommand.SendGraphic,
PrintingSystemCommand.SendMht,
PrintingSystemCommand.SendPdf,
PrintingSystemCommand.SendRtf,
PrintingSystemCommand.SendTxt,
PrintingSystemCommand.SendXls,
PrintingSystemCommand.SendXlsx,
PrintingSystemCommand.SendXps,
PrintingSystemCommand.EditPageHF,
PrintingSystemCommand.ClosePreview,
PrintingSystemCommand.Customize
}, CommandVisibility.None);
rpt2.CreateDocument();
xtraTabPage2.Controls.Add(printCtrl2);
printCtrl2.Dock = DockStyle.Fill;
}
}
}
レポートの内部データバインド:
public rptDemo()
{
InitializeComponent();
BindReport();
}
//
private void BindReport()
{
DataSet ds = CreateDataSource();
Report.DataSource = ds;
cellDeptName.DataBindings.Add("Text", ds, "col1");
cellBZTotal.DataBindings.Add("Text", ds, "col2");
cellBZXingzheng.DataBindings.Add("Text", ds, "col3");
this.cellBZShiye.DataBindings.Add("Text", ds, "col4");
this.cellBZGongqin.DataBindings.Add("Text", ds, "col5");
this.cellBZOther.DataBindings.Add("Text", ds, "col6");
this.cellShiyouTotal.DataBindings.Add("Text", ds, "col7");
this.cellShiyouXingzheng.DataBindings.Add("Text", ds, "col8");
this.cellShiyouShiye.DataBindings.Add("Text", ds, "col9");
this.cellShiyouGongqin.DataBindings.Add("Text", ds, "col10");
this.cellShiyouOther.DataBindings.Add("Text", ds, "col11");
}
DataSet CreateDataSource()
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("col1", typeof(String)));
dt.Columns.Add(new DataColumn("col2", typeof(String)));
dt.Columns.Add(new DataColumn("col3", typeof(String)));
dt.Columns.Add(new DataColumn("col4", typeof(String)));
dt.Columns.Add(new DataColumn("col5", typeof(String)));
dt.Columns.Add(new DataColumn("col6", typeof(String)));
dt.Columns.Add(new DataColumn("col7", typeof(String)));
dt.Columns.Add(new DataColumn("col8", typeof(String)));
dt.Columns.Add(new DataColumn("col9", typeof(String)));
dt.Columns.Add(new DataColumn("col10", typeof(String)));
dt.Columns.Add(new DataColumn("col11", typeof(String)));
for (int i = 0; i < 110; i++)
{
DataRow row = dt.NewRow();
row[0] = i.ToString();
row[1] = i.ToString();
row[2] = i.ToString();
row[3] = i.ToString();
row[4] = i.ToString();
row[5] = i.ToString();
row[6] = i.ToString();
row[7] = i.ToString();
row[8] = i.ToString();
row[9] = i.ToString();
row[10] = i.ToString();
dt.Rows.Add(row);
}
DataSet ds = new DataSet();
ds.Tables.Add(dt);
return ds;
}