ActiveReport+MVC+ajax 通过前台参数传递如何动态绑定数据源?
1.请问下 AcitveReport.Parameters 这个能动态赋值吗? 有实际例子吗?2.以下是我绑定数据源的代码,现在我着需要根据页面传递的参数来绑定数据源
例如:DataTable tb = DBContext.ExecuteDataTable("SELECT Name,Sex,Age FROM Student");
前台传递一个id的参数 ,DataTable tb = DBContext.ExecuteDataTable("SELECT Name,Sex,Age FROM Student where id="+id);
根据不同的id获取不同的数据源,使用ajax 后 直接跳过pageDocument.LocateDataSource ,无法绑定,请问怎么通过参数来绑定不同数据源
public ActionResult Index()
{
GetReport();
return View();
}
public void GetReport()
{
GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("/PageReport1.rdlx")));
PageDocument pageDocument = new PageDocument(report);
System.Action<object, LocateDataSourceEventArgs> action = new Action<object, LocateDataSourceEventArgs>(Document_LocateDataSource);
pageDocument.LocateDataSource += (sender, args) =>
{
action(sender, args);
};
ViewData.Model = report;
}
private void Document_LocateDataSource(object sender, LocateDataSourceEventArgs args)
{
List<Student> list = new List<Student>();
//
DataTable tb = DBContext.ExecuteDataTable("SELECT Name,Sex,Age FROM Student");
foreach (System.Data.DataRow row in tb.Rows)
{
Student stu = new Student();
stu.Name = row["Name"].ToString();
stu.Sex = row["Sex"].ToString();
stu.Age = row["Age"].ToString();
list.Add(stu);
}
int ss = args.Report.Parameters.Count();
args.Data = list;
}
比较全的数据库:https://pan.baidu.com/s/1i4Ew4U5
Lenka.Guo 发表于 2017-6-27 17:29
比较全的数据库:https://pan.baidu.com/s/1i4Ew4U5
这是什么,没看懂呀! 1. H5传参数值:
http://blog.gcpowertools.com.cn/post/html5viewerParameter.aspx
2. 您可以在设计器中进行数据源连接的设置,也可以在MVC中运行时数据源绑定。
http://gcdn.gcpowertools.com.cn/forum.php?mod=viewthread&tid=19954&extra=page%3D1
本帖最后由 ikbeldo 于 2017-6-27 19:01 编辑
Lenka.Guo 发表于 2017-6-27 18:03
1. H5传参数值:
http://blog.gcpowertools.com.cn/post/html5viewerParameter.aspx
2. 您可以在设计器中 ...
您的第一个连接是H5传参数,第二个连接是MVC绑定数据源,这是两种不同的绑定数据源方式。
我想要的是 MVC 传参数 绑定数据源
您好,
H5从前台为参数传值,就是在js中初始化Viewer ,传报表ID 时,传报表参数值
<script type="text/javascript">
$(document).ready(function () {
$("#button1").click(function () {
var result1 = $("#input_text1").val();
var viewer = GrapeCity.ActiveReports.Viewer({
element: '#viewerContainer',
report: {
id: 'RdlReport1.rdlx',
parameters: [{
name: 'ReportParameter1',
<b> value: $("#input_text1").val(),</b>
}]},
reportService: {
url: '/ActiveReports.ReportService.asmx'
},
uiType: 'Desktop',
localeUri: 'Scripts/i18n/Localeuri.txt',
});
}); });
为报表指定运行时数据源,必须实现ReportService.asmx 文件,在这个文件中为报表指定数据源连接字符串,或者指定运行时数据
页:
[1]