找回密码
 立即注册

QQ登录

只需一步,快速开始

rcsy001

高级会员

118

主题

330

帖子

1198

积分

高级会员

积分
1198

活字格认证微信认证勋章

QQ
rcsy001
高级会员   /  发表于:2016-3-22 16:50  /   查看:3507  /  回复:8
本帖最后由 Lenka.Guo 于 2016-3-22 17:26 编辑

AR10 如何使用MVC控制器提供的数据源?

MVC控制器 向前台传一个List<users> AR10如何使用这个数据源,有示例吗?
我的开发环境:VS2012+ ASP.net MVC4 +SQL2008

评分

参与人数 1金币 +1000 收起 理由
admin + 1000 感谢提供案例,奖励1万金币。9

查看全部评分

8 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-22 17:25:56
沙发
您好,
MVC中使用报表可参考帖子:http://gcdn.gcpowertools.com.cn/showtopic-19954-1-1.html

实现思路:
1. 创建新报表模板,设置数据源类型为:Object ProVider
2. 添加数据集字段如字段1,字段2,与List传值的名称对应
3. 添加服务,在工程中添加一个【Web 服务】,然后切换到代码视图,修改该类继承的原始类型为GrapeCity.ActiveReports.Web.ReportService。4. 在GrapeCity.ActiveReports.Web.ReportService 中重写OnCreateReportHandler方法,实现LocateDataSource接口


pageReport.Document.LocateDataSource += Document_LocateDataSource;

void Document_LocateDataSource(object sender, LocateDataSourceEventArgs args)
        {
            args.Data = GetObjectDataSource();
        }


5. 在LocateDataSource接口中设置List数据:


   private object GetObjectDataSource()
        {
            List<CustomObject> data = new List<CustomObject>();

            data.Add(new CustomObject { Name = "car", Description = "car description" });
            data.Add(new CustomObject { Name = "bike", Description = "bike description" });

            return data;
        }

回复 使用道具 举报
rcsy001
高级会员   /  发表于:2016-3-22 17:52:58
板凳
请问:
private object GetObjectDataSource() 看例子这个必须写在【Web 服务】
我是说,Controller 生成了一个list 这个如何使用
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-22 18:22:02
地板
建议您将Controller 生成的List放在公用的类或方法中,让Web服务文件和Controller都可以访问。
回复 使用道具 举报
rcsy001
高级会员   /  发表于:2016-3-22 19:17:28
5#
Web服务不太熟悉,没用过。
能不能详细说明一下:建议您将Controller 生成的List放在公用的类或方法中,让Web服务文件和Controller都可以访问。
或给个简单示例

评分

参与人数 1金币 +1000 收起 理由
Lenka.Guo + 1000 赞一个!

查看全部评分

回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-23 16:08:08
6#
本帖最后由 Lenka.Guo 于 2016-3-28 16:05 编辑

制作Demo需要时间,好了之后会给您回复。
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-3-30 09:21:43
7#
帮您找了一些MVC的入门教程,希望能对您有帮助:http://www.cnblogs.com/powertoolsteam/p/MVC_one.html
回复 使用道具 举报
rcsy001
高级会员   /  发表于:2016-4-3 21:18:10
8#
能不能给个传参数给Web服务,返回数据的示例,关键代码也行
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-4-5 13:47:37
9#

RE: AR10 如何使用MVC控制器提供的数据源

rcsy001 发表于 2016-4-3 21:18
能不能给个传参数给Web服务,返回数据的示例,关键代码也行

您好,
您说的传参数给Web 服务,是指报表参数传递,还是变量传递?

1. 如果是报表参数传递:MVC中浏览报表,采用的是HTML5Viewer ,因此报表参数传递等功能,可在初始化HTML5Viewer时,通常是在Index.cshtml  页面中添加代码,可参考源码库: http://gcdn.gcpowertools.com.cn/showtopic-20547-1-1.html
  • report: {
  •                             id: 'RdlReport1.rdlx',
  •                             parameters: [{
  •                                 name: 'ReportParameter1',
  •                                 value: $("#input_text1").val(),
  •                             }]},


2. 如果是获取Controller 生成的数据将变量值传递给Web 服务;分为两步:
    1. 在Controller中生成数据,可参考本地示例中CustomersController,路径:C:\Users\lenkaguo.GRAPECITY\Documents\GrapeCity Samples\ActiveReports 10\Professional\ActiveReportsWithMVC5WebAPI
     2. 在Web服务中直接调用Controller,示例代码如下:
   var list = (new ActiveReportsWithMVC5.Controllers.CustomersController()).Get();


回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部