1.加载和保存 GridControl 控件布局
string fileName =Path.Combine(Application.UserAppDataPath, "XtraGrid_SaveLayoutToXML美发员工业绩.xml");
private void EmployeePerformanceTotalForm_Load(object sender, EventArgs e)
{
gridControl1.ForceInitialize();
// Restore the previously saved layout
if (System.IO.File.Exists(fileName))
gridControl1.MainView.RestoreLayoutFromXml(fileName);
}
private void EmployeePerformanceTotalForm_FormClosing(object sender, FormClosingEventArgs e)
{
// Save the layout to an XML file
gridControl1.MainView.SaveLayoutToXml(fileName);
}
2.DevExpress Gridcontrol Print
Gridcontrol Print 有两种方法来实现:
一:使用GridControl 自带的ShowPrintPreview方法。
this.gridControl1.ShowPrintPreview();
方法一只是单纯的把gridcontrol1中gridview给打印出来。如果想要设置标题之类的,则需要用方法二来实现。
二:使用PrintingSystem控件。在link Collection中Add PrintableComponentLink。PrintableComponentLink有属性PaperKind(纸张类型)、Landscape(横纵向打印)。
Component的属性为需要打印的控件。打印时要显示标题可以通过PrintableComponentLink的CreateReportHeaderArea来实现
private void printableComponentLink1_CreateReportHeaderArea(object sender, DevExpress.XtraPrinting.CreateAreaEventArgs e)
{
string reportHeader = "产品基本资料档";
e.Graph.StringFormat = new BrickStringFormat(StringAlignment.Center);
e.Graph.Font = new Font("Tahoma", 14, FontStyle.Bold);
RectangleF rec = new RectangleF(0, 0, e.Graph.ClientPageSize.Width, 50);
e.Graph.DrawString(reportHeader, Color.Black, rec, BorderSide.None);
}
// 打印:
this.printableComponentLink1.CreateDocument();
this.printableComponentLink1.ShowPreview();