Grid++Report

来源:互联网 发布:淘宝代销分账在哪找呢 编辑:程序博客网 时间:2024/06/06 04:37
function TFrm_Sds_TzxmMxb.Addrptheader():boolean;
var
  Line: IGRLine;
  StaticBox:IGRStaticBox;
  memobox:IGRMemoBox ;
  titleleft:double;
begin
  result:=false;
  try
    grd.Title:='调整事项明细表';
    //页眉
    grd.PageHeader.Height :=1.01;
    grd.PageHeader.Name:='pagehead';
    //页眉左显示单位


    StaticBox:=grd.PageHeader.Controls.Add(grctStaticBox).AsStaticBox;
    StaticBox.Name:='pageheadleft';
    grd.ControlByName('pageheadleft').AsStaticBox.Width:=8.00;
    grd.ControlByName('pageheadleft').AsStaticBox.Dock:=grdsLeft;
    grd.ControlByName('pageheadleft').AsStaticBox.TextAlign :=grtaMiddleLeft;
    grd.ControlByName('pageheadleft').AsStaticBox.Font.Name   :='宋体';
    grd.ControlByName('pageheadleft').AsStaticBox.Font.Point  :=9;
    grd.ControlByName('pageheadleft').AsStaticBox.Text:='单位:'+s_nsrmc; //单位名称
    //页眉右显示页数页码
    memobox:=grd.PageHeader.Controls.Add(grctMemoBox).AsMemoBox;
    memobox.Name:='pageheadright';
    grd.ControlByName('pageheadright').AsMemoBox.Width:=8.00;
    grd.ControlByName('pageheadright').AsMemoBox.Dock:=grdsRight ;
    grd.ControlByName('pageheadright').AsMemoBox.TextAlign :=grtaMiddleRight;
    grd.ControlByName('pageheadright').AsMemoBox.Font.Name   :='宋体';
    grd.ControlByName('pageheadright').AsMemoBox.Font.Point  :=9;
    grd.ControlByName('pageheadright').AsMemoBox.Text:='第[#SystemVar(PageNumber)#]页  共[#SystemVar(PageCount)#]页';


  except on e:exception do
    begin
     result:=false;
     PFunSds.ShowMessageOK('页眉错误:'+e.Message) ;
     exit;
    end
  end;


  try
    //页脚


    grd.PageFooter.Height :=0.79;
    grd.PageFooter.Name:='pagefoot';
    //页脚左打印日期


    memobox:=grd.PageFooter.Controls.Add(grctMemoBox).AsMemoBox;
    memobox.Name:='PageFooterleft';
    grd.ControlByName('PageFooterleft').AsMemoBox.Width:=8.00;
    grd.ControlByName('PageFooterleft').AsMemoBox.Dock:=grdsLeft ;
    grd.ControlByName('PageFooterleft').AsMemoBox.TextAlign :=grtaMiddleLeft;
    grd.ControlByName('PageFooterleft').AsMemoBox.Font.Name   :='宋体';
    grd.ControlByName('PageFooterleft').AsMemoBox.Font.Point  :=9;
    grd.ControlByName('PageFooterleft').AsMemoBox.Text:='打印日期:[#SystemVar(currentdatetime):yyyy年MM月dd日#]';


    //页脚右
    StaticBox:=grd.PageFooter.Controls.Add(grctStaticBox).AsStaticBox;
    StaticBox.Name:='PageFooteright';
    grd.ControlByName('PageFooteright').AsStaticBox.Width:=8.00;
    grd.ControlByName('PageFooteright').AsStaticBox.Dock:=grdsRight;
    grd.ControlByName('PageFooteright').AsStaticBox.TextAlign :=grtaMiddleRight;
    grd.ControlByName('PageFooteright').AsStaticBox.Font.Name   :='宋体';
    grd.ControlByName('PageFooteright').AsStaticBox.Font.Point  :=9;
    grd.ControlByName('PageFooteright').AsStaticBox.Text:='[企友软件]'; //单位名称


  except on e:exception do
    begin
     result:=false;
     PFunSds.ShowMessageOK('页脚错误:'+e.Message) ;
     exit;
    end
  end;


  try
  //页眉页脚下划线


    Line:=grd.PageHeader.Controls.Add(grctLine).AsLine;
    Line.Name:='pageheadleftlin';
    grd.ControlByName('pageheadleftlin').AsLine.Top  :=0.95;
    grd.ControlByName('pageheadleftlin').AsLine.X1   :=0.00;
    grd.ControlByName('pageheadleftlin').AsLine.Width :=80.00;




    Line:=grd.PageFooter.Controls.Add(grctLine).AsLine;
    Line.Name:='PageFooterleftlin';
    grd.ControlByName('PageFooterleftlin').AsLine.Top  :=0.15;
    grd.ControlByName('PageFooterleftlin').AsLine.X1   :=0.00;
    grd.ControlByName('PageFooterleftlin').AsLine.Width :=80.00;




  except on e:exception do
    begin
     result:=false;
     PFunSds.ShowMessageOK('划线错误:'+e.Message) ;
     exit;
    end
  end;


  //表头
  try


    grd.ReportHeader[1].Height  :=2.01;
    grd.ReportHeader[1].Name:='ReportHeade';
    grd.ReportHeader[1].RepeatOnPage :=true;


    StaticBox:=grd.ReportHeader[1].Controls.Add(grctStaticBox).AsStaticBox;
    StaticBox.Name:='Headetitle';


    grd.ControlByName('Headetitle').AsStaticBox.Width:=5.00;
    grd.ControlByName('Headetitle').AsStaticBox.Height :=1.20;
    grd.ControlByName('Headetitle').AsStaticBox.Center:=grcsHorizontal;
    grd.ControlByName('Headetitle').AsStaticBox.TextAlign :=grtaMiddleCenter;




    grd.ControlByName('Headetitle').AsStaticBox.Font.Bold :=true;
    grd.ControlByName('Headetitle').AsStaticBox.Font.Name   :='楷体_GB2312';
    grd.ControlByName('Headetitle').AsStaticBox.Font.Point  :=18;
    grd.ControlByName('Headetitle').AsStaticBox.Text:='调整事项明细表'; //单位名称


    Line:=grd.ReportHeader[1].Controls.Add(grctLine).AsLine;
    Line.Name:='titlelin1';
    Line:=grd.ReportHeader[1].Controls.Add(grctLine).AsLine;
    Line.Name:='titlelin2';


    grd.ControlByName('titlelin1').AsLine.Top  :=1.19;
    grd.ControlByName('titlelin1').AsLine.Width :=5.00;
    grd.ControlByName('titlelin2').AsLine.Top  :=1.29;
    grd.ControlByName('titlelin2').AsLine.Width :=5.00;




    grd.ControlByName('titlelin1').AsLine.Center   :=grcsHorizontal ;
    grd.ControlByName('titlelin2').AsLine.Center  :=grcsHorizontal  ;




    StaticBox:=grd.ReportHeader[1].Controls.Add(grctStaticBox).AsStaticBox;
    StaticBox.Name:='Headend';
    grd.ControlByName('Headend').AsStaticBox.Width:=10.00;
    grd.ControlByName('Headend').AsStaticBox.Height :=0.80;
    grd.ControlByName('Headend').AsStaticBox.Top  :=1.22;
    grd.ControlByName('Headend').AsStaticBox.Center:=grcsHorizontal;
    grd.ControlByName('Headend').AsStaticBox.TextAlign :=grtaMiddleCenter;
    grd.ControlByName('Headend').AsStaticBox.Font.Name   :='宋体';
    grd.ControlByName('Headend').AsStaticBox.Font.Point  :=9;
    grd.ControlByName('Headend').AsStaticBox.Text:=inttostr(i_ssnd)+'年度';
    result:=true;
  except on e:exception do
    begin
     result:=false;
     PFunSds.ShowMessageOK('表头错误:'+e.Message) ;
     exit;
    end
  end;




end;
function TFrm_Sds_TzxmMxb.Addrptcol():boolean;
var
  Column_name:string;//列名称
  Column_title:string;//列标题
  Column_datafield:string;//列数据字段
  Column_Width:real; //列宽
  Column_datatype:string;//列内容数据类型
  group:IGRGroup ;
  fieldbox:IGRFieldBox;
begin
  result:=false;
  try
   showmessage('cc');
    //移除格列
    grd.DetailGrid.Columns.RemoveAll();
    grd.DetailGrid.Recordset.Fields.RemoveAll();
    grd.DetailGrid.PrintAdaptMethod:=grcpamToNewPage;


    grd.DetailGrid.ColumnTitle.Visible:=false; //列标题不显示
    grd.DetailGrid.ColumnContent.Height:=0.8;
    //添加列 start
    grd.DetailGrid.Recordset.AddField('tzxmlbmc',grptString) ;
    grd.DetailGrid.AddColumn('tzxmlbmc','调整项目类别','tzxmlbmc',3.00);
    grd.ColumnByName('tzxmlbmc').TitleCell.TextAlign:= grtaMiddleCenter ;
    grd.ColumnByName('tzxmlbmc').Visible:=false;


    grd.DetailGrid.Recordset.AddField('swzbmc',grptString) ;
    grd.DetailGrid.AddColumn('swzbmc','税务指标','swzbmc',6.00);
    grd.ColumnByName('swzbmc').TitleCell.TextAlign:= grtaMiddleCenter ;
    grd.ColumnByName('swzbmc').ContentCell.Font.Name:='宋体';
    grd.ColumnByName('swzbmc').ContentCell.Font.Bold :=true;
    grd.ColumnByName('swzbmc').ContentCell.Font.Point  :=11;


    grd.DetailGrid.Recordset.AddField('tzxmmxmc',grptString) ;
    grd.DetailGrid.AddColumn('tzxmmxmc','调整项目明细','tzxmmxmc',6.00);
    grd.ColumnByName('tzxmmxmc').TitleCell.TextAlign:= grtaMiddleCenter ;
    grd.ColumnByName('tzxmmxmc').ContentCell.Font.Name:='宋体';
    grd.ColumnByName('tzxmmxmc').ContentCell.Font.Bold :=false;
    grd.ColumnByName('tzxmmxmc').ContentCell.Font.Point  :=9;


    grd.DetailGrid.Recordset.AddField('value',grptString) ;
    grd.DetailGrid.AddColumn('value','明细数据','value',3.00);
    grd.ColumnByName('value').TitleCell.TextAlign:= grtaMiddleCenter ;
    grd.ColumnByName('value').ContentCell.Font.Name:='宋体';
    grd.ColumnByName('value').ContentCell.Font.Bold :=false;
    grd.ColumnByName('value').ContentCell.Font.Point  :=9;
    //添加各个列end


    //添加组1 start
    group:=grd.DetailGrid.Groups.Add();
    group.ByFields:= 'tzxmlb' ;
    group.Name:='g_tzxmlb';
    group.PageGroup:=false;
    Group.Header.RepeatOnPage := false;
    Group.Header.Height :=1.00;
    Group.Footer.Visible := false;
    Group.Header.NewPage := grnpsBefore;


    fieldbox:=group.Header.Controls.Add(grctFieldBox).AsFieldBox ;
    fieldbox.Name:='g_tzxmlb_field';
    grd.ControlByName('g_tzxmlb_field').AsFieldBox.Width:=10.00;
    grd.ControlByName('g_tzxmlb_field').AsFieldBox.Height :=0.80;
    grd.ControlByName('g_tzxmlb_field').AsFieldBox.Top  :=1.22;
    grd.ControlByName('g_tzxmlb_field').AsFieldBox.Center:=grcsBoth;
    grd.ControlByName('g_tzxmlb_field').AsFieldBox.TextAlign :=grtaMiddleCenter;
    grd.ControlByName('g_tzxmlb_field').AsFieldBox.Font.Name   :='宋体';
    grd.ControlByName('g_tzxmlb_field').AsFieldBox.Font.Bold :=true;
    grd.ControlByName('g_tzxmlb_field').AsFieldBox.Font.Point  :=14;
    grd.ControlByName('g_tzxmlb_field').AsFieldBox.DataField:='tzxmlbmc' ;
    //添加组1 end


    //添加组2 start
    group:=grd.DetailGrid.Groups.Add();
    group.ByFields:= 'swzbmc' ;
    group.Name:='g_swzbmc';
    group.PageGroup:=false;
    group.Header.OccupyColumn:=true;
    group.Header.OccupiedColumns:='swzbmc';
    Group.Header.RepeatOnPage := false;
    Group.Header.Height :=1;
    Group.Footer.Visible := false;
    Group.Header.NewPage := grnpsBefore;
  //添加组2 end


    showmessage('dd');
    result:=true;
  except  on e:exception do
    begin
      PFunSds.ShowMessageOK('添加列错误'+e.Message);
      result:=false;
    end;
  end;
end ;
原创粉丝点击