解决方式1:移动挂接报表事件的代码的位置,让这些代码只执行一次。一般是在 From 的启动函数或事件中。如下C#与VB.NET代码:
public Form1()
{
...
//连接报表事件
Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(ReportInitialize);
Report.FetchRecord = new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecord);
Report.GroupBegin += new _IGridppReportEvents_GroupBeginEventHandler(ReportGroupBegin);
Report.ProcessRecord += new _IGridppReportEvents_ProcessRecordEventHandler(ReportProcessRecord);
Report.SectionFormat += new _IGridppReportEvents_SectionFormatEventHandler(ReportSectionFormat);
...
解决方式1:移动挂接报表事件的代码的位置,让这些代码只执行一次。一般是在 From 的启动函数或事件中。如下C#与VB.NET代码:
public Form1()
{
...
//连接报表事件
Report.Initialize += new _IGridppReportEvents_InitializeEventHandler(ReportInitialize);
Report.FetchRecord = new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecord);
Report.GroupBegin += new _IGridppReportEvents_GroupBeginEventHandler(ReportGroupBegin);
Report.ProcessRecord += new _IGridppReportEvents_ProcessRecordEventHandler(ReportProcessRecord);
Report.SectionFormat += new _IGridppReportEvents_SectionFormatEventHandler(ReportSectionFormat);
...
...
'连接报表事件
AddHandler Report.Initialize, AddressOf ReportInitialize
AddHandler Report.FetchRecord, AddressOf ReportFetchRecord
AddHandler Report.ProcessRecord, AddressOf ReportProcessRecord
AddHandler Report.GroupBegin, AddressOf ReportGroupBegin
AddHandler Report.SectionFormat, AddressOf ReportSectionFormat
...
End Sub
解决方式2:在挂接事件前,先移除原来的挂接事件。如下C#与VB.NET代码:
Report.FetchRecord -= new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecord);
Report.FetchRecord += new _IGridppReportEvents_FetchRecordEventHandler(ReportFetchRecord);