使用Business Objects数据源时StimulSoft报告不显示表

时间:2019-07-28 11:04:44

标签: c# asp.net-mvc report stimulsoft

我用StiMvcDesigner创建了一个报告,它运行得很好

 public ActionResult GetReport()
    {
        AthleteData data = new AthleteData();
        var report = new StiReport();
        var path = Server.MapPath("~/Reports/Athletes.mrt");
        report.Load(path);
        report.RegBusinessObject("GymDB", data.getAllData());
        report.Dictionary.SynchronizeBusinessObjects();
        return StiMvcDesigner.GetReportResult(report);
    }

    public ActionResult PreviewReport()

    {
        StiReport report = StiMvcDesigner.GetActionReportObject();
        var path = Server.MapPath("~/Reports/Athletes.mrt");
        report.Load(path);
        return StiMvcDesigner.PreviewReportResult(report);

    }

    public ActionResult SaveReport()
    {
        var report = StiMvcDesigner.GetReportObject();

        var path = Server.MapPath("~/Reports/Athletes.mrt");
        report.Save(path);
        return StiMvcDesigner.SaveReportResult();
    }

    public ActionResult DesignerEvent()
    {
        return StiMvcDesigner.DesignerEventResult();
    }

这是Data类:

 public  class AthleteData
{
    GymDBEntities gymEntities;
    public AthleteData()
    {
        gymEntities = new GymDBEntities();
    }

    public List<Athlete> getAllData()
    {
        var athletes = new List<Athlete>();
        var data = gymEntities.Athletes;
        foreach (var item in data)
        {
            athletes.Add(new Athlete
            {
                Id = item.Id,
                Name = item.Name,
                LastName = item.LastName,
                NationalCode = item.NationalCode,
                Gender = item.Gender,
                BirthDate = (DateTime)item.BirthDate,
                RegisteredDate = item.RegisteredDate,
                Phone = item.Phone,
                Mobile = item.Mobile
            });
        }

        return athletes;
    }
}

当我从另一个Controller加载报告时,它什么也没有显示:

  public ActionResult GetReport()
    {
        AthleteData data = new AthleteData();
        var report = new StiReport();
        var path = Server.MapPath("~/Reports/Athletes.mrt");
        report.Load(path);
        report.RegData("data", data.getAllData());
        report.Dictionary.SynchronizeBusinessObjects();
        report.Render();
        //CheckReference(report);

        return StiMvcViewer.GetReportResult(report);
    }

0 个答案:

没有答案
相关问题