lc3w 发表于 2018-12-17 18:31:18

本帖最后由 lc3w 于 2018-12-18 11:03 编辑

KearneyKang 发表于 2018-12-17 16:14
你适当修改子报表的那个高度。纸张不用修改就可以解决你的问题了。
你刚才发的图,第一页最后这个换页位置,血糖应该有一个结果又打印不出来了,每个项目应该和界面上那个查询对比一下数据对不对,我反馈的这个问题就是主从报表数据总是错乱的问题。

:'(

lc3w 发表于 2018-12-18 11:01:30

我觉得这是一个很简单的主从报表啊,怎么会这么复杂,这么长时间都找不出原因所在?

KearneyKang 发表于 2018-12-18 11:53:50

经过多次验证发现,这是一个bug已经提交给研发的同事,有结果会第一时间反馈给你。

bug号:268431

lc3w 发表于 2018-12-18 13:29:17

KearneyKang 发表于 2018-12-18 11:53
经过多次验证发现,这是一个bug已经提交给研发的同事,有结果会第一时间反馈给你。

bug号:268431

;P原来是一个BUG,被我发现的这个BUG是否有奖。。。。。开玩笑的,这个对我而言是个很急的事情,应如何解决

KearneyKang 发表于 2018-12-18 16:03:05

有奖励的,奖励500金币。具体等研发那边反馈。

lc3w 发表于 2018-12-19 13:33:58

那这个贴子我继续等着

KearneyKang 发表于 2018-12-19 18:10:27

本帖最后由 KearneyKang 于 2018-12-20 16:53 编辑

您好,问题已经解决了,这主要是由于你使用FetchData事件来设置控件的值。它是用文档-ReportEvents编写的。请尝试处理Detail_Format事件,其中为子报表控制分配报告,如下实现主要代码:private void LabItems_Format(object sender, System.EventArgs e)
{
    LabItemsResults rptLabResults = new LabItemsResults(dt);
    subItemIndexResult.Report = rptLabResults;
}<blockquote> private void LabItems_Format(object sender, System.EventArgs e)在报表设计里添加这段代码触发 LabItems_Format这个事件
   this.detail.Format += new System.EventHandler(this.LabItems_Format);



部分代码:
public partial class LabItems : GrapeCity.ActiveReports.SectionReport
    {

      DataSet _dsResult;
      DataTable _dtCheckItems = null;
      private int iRow = 0;
      DataTable dt = new DataTable();
      public LabItems(DataSet dsResult)
      {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            _dsResult = dsResult;
            _dtCheckItems = _dsResult.Tables["CheckItemsByLaboratory"];
      }
      private void LabItems_Format(object sender, System.EventArgs e)
      {
            LabItemsResults rptLabResults = new LabItemsResults(dt);
            subItemIndexResult.Report = rptLabResults;
      }

      private void LabItems_FetchData(object sender, FetchEventArgs eArgs)
      {

            if (iRow >= _dtCheckItems.Rows.Count)
            {
                return;
            }
            else
            {
                eArgs.EOF = false;
            }

            CheckItemsDTO checkItems = CheckItemsBLL.GetModel(_dtCheckItems.Rows);


            #region 显示项目检查信息
            CheckItemsName.Text = checkItems.CheckItemName;//项目名称
            //如果检验者ID不为空则说明不是外送检验项目
            tbOperatorUser.Text = checkItems.OperatorUserName;//检验者
            tbAssessorUser.Text = checkItems.AssessorUserName;//审核者
            tbCheckEndDate.Text = Convert.ToDateTime(checkItems.CheckEndDate).ToShortDateString().ToString().Replace("/", "-");//检查时间
            #endregion 显示项目检查信息



            #region 显示项目指标结果
            dt = pubBLL.GetDataTableBy(ref _dsResult, "CheckItemIndexResult_" + checkItems.ID);
            if (dt.Rows.Count <= 0)
            {
                throw new Exception("【" + checkItems.CheckItemName + "】的结果指标记录数量为0");
            }

            Tools.WriterLog("【" + checkItems.CheckItemName + "】以下" + dt.Rows.Count.ToString() + "条结果:");
            //LabItemsResults rptLabResults = new LabItemsResults(dt);
            //subItemIndexResult.Report = rptLabResults;
            #endregion 显示项目指标结果

            iRow++;
      }
    }




lc3w 发表于 2018-12-26 12:00:48

测试可以,谢谢!!

KearneyKang 发表于 2018-12-26 13:47:26

不客气:)
页: 1 2 [3]
查看完整版本: AR9报表到某个位置时,部份子报表数据丢失或与主报表不匹配,数据混 乱,在线等急急急