📄 20010417001.htm
字号:
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>TGridPrint::TGridPrint(TQuickRep * pSrcQuickRep,TDBGrid
* pSrcDBGrid,TQRBand *SrcTitleBand1, TQRBand *SrcColumnHeaderBand1,TQRBand
* SrcDetailBand1) //构造函数</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>{ int i,PreLeft;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pQuickRep = pSrcQuickRep; //根据传入参数设置私有变量</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pDBGrid = pSrcDBGrid;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pDataSet = pDBGrid->DataSource->DataSet;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pQuickRep->DataSet = pDataSet;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>TitleBand1 = SrcTitleBand1;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>ColumnHeaderBand1 = SrcColumnHeaderBand1;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>DetailBand1= SrcDetailBand1; </td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>PTitleLabel = new TQRLabel(pQuickRep); //生成并设置总标题标签的属性</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pTitleLabel->Parent = TitleBand1;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pTitleLabel->Caption = "报表标题";</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pTitleLabel->Left= (TitleBand1->Width - pTitleLabel->Width)/2;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td
class=a14>memset(_arrayFieldType,0,sizeof(NEWFIELDTYPE)*40);</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_iTotalWidth=0; //计算出表格各列单元宽度和整个表格的总宽度</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>for(i=0; i< pDBGrid->FieldCount;i++)</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>{ _arrayFieldType[i].iWidth= pDBGrid->Columns->Items[i]->Width;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_iTotalWidth += _arrayFieldType[i].iWidth; }</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>if(_iTotalWidth > TitleBand1->Width)</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>{ //如果原DBGird各列宽度和大于总标题栏宽度,就调整各列宽度</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_iTotalWidth= TitleBand1->Width;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>AutoAdjustColumnsWidth(); }</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>PreLeft= ( TitleBand1->Width - _iTotalWidth)/2; //使整个表格居中</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pHeadRect= new TQRShape(pSrcQuickRep); //生成并设置字段标题栏的矩形框</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pHeadRect->Parent= ColumnHeaderBand1;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pHeadRect->Left = PreLeft; pHeadRect->Top = 0;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pHeadRect->Width = _iTotalWidth; pHeadRect->Height=
pHeadRect->Parent->Height;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pDetailRect= new TQRShape(pSrcQuickRep); //生成设置数据行的矩形框</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pDetailRect->Parent= DetailBand1;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pDetailRect->Left = PreLeft; pDetailRect->Top
= -1;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pDetailRect->Width = _iTotalWidth; pDetailRect->Height=
pDetailRect->Parent->Height+1 ;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_iIntClearance= 1;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_iFieldCount= pDBGrid->FieldCount; //设置表格总列数</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>for(i=0; i< _iFieldCount;i++) //动态生成各字段</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>{ //该字段的固定标题栏</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pLabel= new TQRLabel(pQuickRep);
//标题控件</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pLabel->Parent= ColumnHeaderBand1;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>//字段标题名称</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pLabel->Caption= pDBGrid->Columns->Items[i]->Title->Caption;
</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>//字段标题的字体</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pLabel->Font= pDBGrid->Columns->Items[i]->Title->Font;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pLabel->Alignment=</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>pDBGrid->Columns->Items[i]->Title->Alignment;
//对齐方式</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pLabel->Left = PreLeft+_iIntClearance;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pLabel->Width = _arrayFieldType[i].iWidth-2*_iIntClearance;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pLabel->Height= _arrayFieldType[i].pLabel->Font->Height;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pLabel->Top=</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td
class=a14>pHeadRect->Top+(pHeadRect->Height+_arrayFieldType[i].pLabel->Height)/2;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pShapeTitle= new TQRShape(pQuickRep);
//该字段右边的分隔竖条</td>
</tr>
</tbody>
</table>
<table align=center width=620>
<tbody>
<tr>
<td class=a14>_arrayFieldType[i].pShapeTitle->Parent= ColumnHeaderBand1;</td>
</tr>
</tbody>
</table>
<table align=center width=620>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -