DataGrid的打印(三)

原创 2006年06月01日 17:15:00

//属性情報の印刷
void CAttriPrintDlg::PrintData()
{
 // Create and show the PrintDialog
 CPrintDialog dlg(TRUE, PD_ALLPAGES|PD_ALLPAGES|PD_NOPAGENUMS, NULL);
 PRINTDLG *pPrintDlg = &dlg.m_pd;
 AfxGetApp()->GetPrinterDeviceDefaults(pPrintDlg);
 DEVMODE* lpDevMode = (DEVMODE*)::GlobalLock(pPrintDlg->hDevMode);
 ::GlobalUnlock(pPrintDlg->hDevMode);
 lpDevMode->dmPaperSize = DMPAPER_A3; //A3 297 x 420 mm
 lpDevMode->dmOrientation = DMORIENT_LANDSCAPE; //橫向

 if(dlg.DoModal() == IDCANCEL)
  return;

 // create a CDC and attach it to the default printer
 CDC dcPrinter;
 dcPrinter.Attach(dlg.CreatePrinterDC());

 // initialize DOCINFO
 DOCINFO docinfo;
 memset(&docinfo, 0, sizeof(docinfo));
 docinfo.cbSize = sizeof(docinfo);
 CString title;
 GetWindowText(title);
 docinfo.lpszDocName = title;

 // if it fails, complain and exit gracefully
 if (dcPrinter.StartDoc(&docinfo) < 0)
 {
  MessageBox(_T("プリンタを初期化できません"));
  return;
 }

 bool bPrintHeader = _chkPrint.GetCheck() == BST_CHECKED;
 bool bPrintFooter = _chkPrint.GetCheck() == BST_CHECKED;
    CPrintHelper helper(&dcPrinter, bPrintHeader, bPrintFooter);

 // 變量初始化:
 int gridRowCount = m_Grid.GetRows();
 int rowPos = 1;
 int page = 1;
 
 while(rowPos < gridRowCount)
 {
  if (dcPrinter.StartPage() < 0)
  {
   MessageBox(_T("ページ処理を開始できません"));
   dcPrinter.AbortDoc();
   return;
  }

  helper.PrintHeader(strTitleText.c_str(), _startYear, _startImage , _endYear, _endImage);
  helper.PrintGridHeader();
  rowPos = helper.PrintPage(m_Grid, rowPos);

  helper.PrintFooter(page);

  dcPrinter.EndPage();

  ++page;
 }
 
 dcPrinter.EndDoc();
}

c#实现御览、打印datagrid中的数据

  • 2008年05月25日 21:12
  • 125KB
  • 下载

打印easyui的datagrid内容

在使用easyui插件的时候,使用最多的应该是datagrid插件。有时候根据客户需求,可能需要将datagrid内容进行打印,这时候如果直接调用window.print,可能由于easyui的dat...

DataGrid的打印预览和打印

  • 2009年06月25日 18:03
  • 29KB
  • 下载

DataGrid的打印预览和打印.rar

  • 2008年03月12日 22:48
  • 4KB
  • 下载

Easyui 中 datagrid 合并单元格的打印问题

最近在做一个项目,项目中要求将Easyui中的datagrid
  • kokar
  • kokar
  • 2014年11月21日 16:18
  • 1749

flex 三状态多选 自动分页DataGrid

  • 2013年12月12日 16:29
  • 24KB
  • 下载

DataGrid打印类(WinForm C#)

using System; using System.Collections; using System.ComponentModel; using System.Drawing; using...

Winform 打印DataGrid View

winform 打印原理.. 1.先在画布上面画好表格 2.再在表格上面写上以前的字 此类不足:不能自定义 表标题的位置.以及表尾的内容. 以及 页眉 和 页脚的内容.. 下次有空了记得修...

EasyUI的DataGrid 的打印导出功能

1.打印部分   新增print.js // strPrintName 打印任务名 // printDatagrid 要打印的datagrid function CreateFormPage(...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DataGrid的打印(三)
举报原因:
原因补充:

(最多只允许输入30个字)