1个rdlx上有2个chart,后台,怎么绑定数据
本帖最后由 Lenka.Guo 于 2016-4-12 16:37 编辑怎么分别绑定这2个图形啊,1个的我知道。2个的,不知道怎么绑定了,通过返回Datatable的方式.
您好,
两张图表对应两个DataSet,DataSet1和DataSet2, 在后台根据数据集名称,添加不同的数据。
在LocateDataSource的时候添加判断即可,根据数据集名称来添加数据源:
void pageDocument_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
{
if (args.DataSourceName == "DataSource1")
{
if (args.DataSetName == "DataSet1")
{
args.Data = GetDataSource();
}
if(args.DataSetName == "DataSet2")
args.Data = GetDataSource2();
}
}
我的有2个DataSet,后台只有1个,什么情况.我的代码有问题吗
您好,
DataSet需要在报表设计时添加;
在后台根据DataSetName 为其绑定对应的数据。
参考Demo:
你发的例子,应该是这样的
void pageDocument_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
{
if (args.DataSourceName == "DataSource1")
{
if (args.DataSetName == "DataSet1")
{
args.Data = GetDataSource1();
}
if(args.DataSetName == "DataSet2")
args.Data = GetDataSource2();
}
}
private DataTable GetDataSource1()
{
DataTable dt = new DataTable();
dt.Columns.Add("产品编号");
dt.Columns.Add("产品名称");
dt.Columns.Add("单价", typeof(int));
dt.Columns.Add("库存量", typeof(int));
dt.Rows.Add("A10002", "苹果", 20, 50);
dt.Rows.Add("A15681", "香蕉", 20, 50);
dt.Rows.Add("A15681", "菠萝", 20, 50);
columns = dt.Columns.Count;
return dt;
}
private DataTable GetDataSource2()
{
DataTable dt = new DataTable();
dt.Columns.Add("产品编号");
dt.Columns.Add("产品名称");
dt.Columns.Add("单价", typeof(int));
dt.Columns.Add("库存量", typeof(int));
dt.Rows.Add("A10002", "苹果", 20, 150);
dt.Rows.Add("A15681", "香蕉", 20, 250);
dt.Rows.Add("A15681", "菠萝", 20, 350);
columns = dt.Columns.Count;
return dt;
}
问题是,我不能调试,直接就报错了。
2个DataSet是用1个DataTable 还是,各用各的 我看,你那个事件,执行了,2次,是不是,不能写在这个事件里。这里只执行了,一次。
bjqxst 发表于 2016-4-13 10:32
我看,你那个事件,执行了,2次,是不是,不能写在这个事件里。这里只执行了,一次。
版本号与你安装的版本号不对,报的错,可以使用VS的菜单项“工具”——>转换为ActiveReports10 来转换。
您是在ActiveReports.ReportService.asmx 文件中绑定多个数据源,是同样的用法,通过DataSetName找到数据集,来绑定数据。
是同样的用法,只显示最后1个,什么原因 有很多DataSet,DataSet是DataSet_KaiBGS,是什么问题。
protected override void OnLocateDataSourceHandler(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
{
//GetData gt = new GetData();
// 报表倒数第二个参数为当前页号的值,通过当前页号去加载新的数据
//int pcount = args.Report.Parameters.Count;029-88331988-339曾
//args.Data = gt.DataPage((int)args.Report.Parameters.Values.Value);
//招标统计
if (args.DataSourceName == "DataSource_Tender")
{
}
}
页:
[1]
2