找回密码
 立即注册

QQ登录

只需一步,快速开始

SunDream°
社区贡献组   /  发表于:2016-5-19 09:38  /   查看:2782  /  回复:3
本帖最后由 Lenka.Guo 于 2016-5-19 14:53 编辑



这是在单独加载一张报表到 private GrapeCity.ActiveReports.Viewer.Win.Viewer arViewer;控件的时候执行的加载代码



pageReport.Document.LocateDataSource += new LocateDataSourceEventHandler(OnLocateDataSource);

arViewer.LoadDocument(pageReport.Document);



这一部分是在执行委托执行的代码段,其中红色部分是否是对报表的设计数据源整体都修改了? 包括我从设计器跳过来后,关闭预览, 返回设计器的时候 这个时候整个设计器的数据源都发生了变化?   

        void OnLocateDataSource(object sender, LocateDataSourceEventArgs args)

        {

            args.Data = LoadDataSet().Tables[2];

        }





3 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-19 10:42:46
沙发
是的~因为是动态数据源绑定,在执行 args.Data = LoadDataSet().Tables[2]; 报表的数据部分已经赋值。所以在设计器中数据源就会保存执行后的结果。
回复 使用道具 举报
SunDream°
社区贡献组   /  发表于:2016-5-19 10:49:10
板凳
Lenka.Guo 发表于 2016-5-19 10:42
是的~因为是动态数据源绑定,在执行 args.Data = LoadDataSet().Tables[2]; 报表的数据部分已经赋值。所以 ...

有没有方法可以在执行后不会影响到设计器中的数据源,要是现在这种情况, 那也就是说必须在设计器中设计好以后再去点预览查看,否则只能重新开始设计。  我这边的设计数据源跟预览展示的数据源是两个不同的来源。这种要怎么处理呢?   
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-5-19 14:53:03
地板
SunDream° 发表于 2016-5-19 10:49
有没有方法可以在执行后不会影响到设计器中的数据源,要是现在这种情况, 那也就是说必须在设计器中设计 ...

点击预览按钮之后,对当前设计界面的报表进行保存,当返回到设计界面时,重新加载该报表。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部