AR12 winfrom框架下怎么在后代代码进行数据绑定
能贴出绑定代码嘛?我在学习手册的那个视频中Asp.net 方式 进行后台绑定我的前台页面总是报错
private void Form1_Load(object sender, EventArgs e)
{
try
{
//生成报表对象
GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo("E:/练习/PrintDome/PrintDome/RdlReport2.rdlx"));
//绑定报表数据
rpt.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(LocationData);
//调用PageReports Document 对象
GrapeCity.ActiveReports.Document.PageDocument prtd = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
//讲报表绑定在控件上
this.viewer1.LoadDocument(prtd);
}
catch (Exception ex)
{
throw ex;
}
}
private void LocationData(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
{
if (args.DataSourceName == "DataSource1")
{
args.Data = returndata();
}
}
private object returndata()
{
DataTable dt = new DataTable();
dt.Columns.Add("编码");
dt.Columns.Add("编码");
dt.Rows.Add("cs01","123");
dt.Rows.Add("cs02","123");
return dt;
}
有可以参考的代码 链接嘛?
错误明细:
GrapeCity.ActiveReports.ReportException: 发生了一个意外错误。更多信息: '值不能为 null。
参数名: commandText' ---> System.ArgumentNullException: 值不能为 null。
参数名: commandText
在 #UwA.#uue..ctor(#WTe connection, String commandText, CommandType commandType, Int32 commandTimeout, String name, DataSourceLocator locator, Func`2 evaluator)
在 GrapeCity.BI.Data.CommandBuilder.#hEf(#WTe connection, IDataSet rdlDataSet, Func`2 evaluate, DataParameter[] parameters)
在 GrapeCity.BI.Data.CommandBuilder.#8gX(IDataSet dataSet, DataSource dataSource, DataParameter[] parameters)
在 GrapeCity.ActiveReports.ReportDataProcessor.<>c__DisplayClass7.#U.#cQh.#2p2(IDataSet dataSet, DataSource dataSource, DataParameter[] parameters)
在 GrapeCity.ActiveReports.ReportDataProcessor.#t2Z(IDataSet dataSet, BuildCommand buildCommand, IDictionary`2 scopes, IList`1 finalizers, CancellationToken token, DataParameter[] parameters)
在 GrapeCity.ActiveReports.ReportDataProcessor.<>c__DisplayClass21.#7p2(String name)
在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.RecordSetProvider.GetDataSet(String name)
在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.DataProcessor.<>c__DisplayClass13_0.#dm2(ExecutionContext exc)
在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.DataProcessor.<>c__DisplayClass18_1.#mm2(#TRZ fn)
在 System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
在 System.Linq.Buffer`1..ctor(IEnumerable`1 source)
在 System.Linq.Enumerable.ToArray(IEnumerable`1 source)
在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.DataProcessor.<>c__DisplayClass18_1.#lm2()
在 GrapeCity.Enterprise.Data.DataEngine.DataTree`1.Scope.get_Regions()
在 GrapeCity.Enterprise.Data.DataEngine.DataProcessing.DataTreeGenerator.<>c__DisplayClass17_1.#fn2()
在 GrapeCity.Enterprise.Data.DataEngine.DataTree`1.Scope.get_Regions()
在 GrapeCity.ActiveReports.Rendering.Data.DataScopeBase.#BHA(String name)
在 #wxA.#UzA.Create(ReportRenderingContext reportRenderingContext, ReportItem rdlItem, IDataScopeInternal currentDataContext)
在 GrapeCity.ActiveReports.Rendering.ReportRenderingContext.<>c__DisplayClass13.#sf2(ReportItem item)
在 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
在 System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
在 System.Linq.Enumerable.<ConcatIterator>d__71`1.MoveNext()
在 System.Linq.Buffer`1..ctor(IEnumerable`1 source)
在 System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
在 System.Linq.Enumerable.<SelectIterator>d__7`2.MoveNext()
在 System.Linq.Buffer`1..ctor(IEnumerable`1 source)
在 System.Linq.Enumerable.ToArray(IEnumerable`1 source)
在 GrapeCity.ActiveReports.Layout.L2.CanvasImpl.#n3V(IEnumerable`1 canvasItems)
在 GrapeCity.ActiveReports.Layout.L2.#AY(IEnumerable`1 canvasItems, Boolean galleyMode, Object item, Int32 width, Int32 height, Boolean consumeWhiteSpace)
在 GrapeCity.ActiveReports.Layout.L2.#AY(IEnumerable`1 canvasItems, Boolean galleyMode, Object item, Int32 width, Int32 height, Boolean canShrink, Boolean canGrow, Boolean consumeWhiteSpace)
在 GrapeCity.ActiveReports.Layout.ReportCanvasLayout.#AY(IEnumerable`1 items, #saR context, Object item, Int32 width, Int32 height, Boolean canShrink, Boolean canGrow, Boolean consumeWhiteSpace)
在 GrapeCity.ActiveReports.Layout.ReportImpl.#QaX(#saR context, IBody body, Object item, Size`1 contentSize, Nullable`1 size, Boolean consumeWhiteSpace)
在 GrapeCity.ActiveReports.Layout.LayoutEngine.#Lv0(#saR context, Int32 limit)
在 GrapeCity.ActiveReports.Layout.LayoutEngine.BuildLayout(LayoutInfo layoutInfo)
在 #GPr.#RLf.#NNf(IReport report, TargetDeviceCapabilities targetDevice, LayoutNotificationCallback callback)
在 GrapeCity.ActiveReports.Export.Image.Page.ImageRenderingExtension.Render(IReport report, StreamProvider streams, NameValueCollection settings)
在 GrapeCity.ActiveReports.Document.PageDocument.Render(IRenderingExtension renderingExtension, StreamProvider streams, NameValueCollection settings, Boolean forceDataRefresh, Boolean forceParameterDataRefresh, CancellationToken token)
--- 内部异常堆栈跟踪的结尾 ---
在 GrapeCity.ActiveReports.Document.PageDocument.Render(IRenderingExtension renderingExtension, StreamProvider streams, NameValueCollection settings, Boolean forceDataRefresh, Boolean forceParameterDataRefresh, CancellationToken token)
在 GrapeCity.ActiveReports.Viewer.Win.Rdlx.RdlReport.<>c__DisplayClass13.<LoadImpl>b__e()
在 System.Threading.Tasks.Task.InnerInvoke()
在 System.Threading.Tasks.Task.Execute()
请问下 为什么我这个代码不报错 运行 就卡死在这个页面?
代码中有点小问题:
删除代码: //绑定报表数据
rpt.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(LocationData);
在下面添加:
//调用PageReports Document 对象
GrapeCity.ActiveReports.Document.PageDocument prtd = new GrapeCity.ActiveReports.Document.PageDocument(rpt);prtd.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(LocationData);
//讲报表绑定在控件上
this.viewer1.LoadDocument(prtd);
我已经设置了啊
GrapeCity.ActiveReports.Document.PageDocument prtd = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
prtd.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(LocationData);
我用了你粘给我的代码 还是一样啊 错误明细:
GrapeCity.ActiveReports.ReportException: 无法连接数据源 ---> System.InvalidOperationException: No data has been set. Please specify either a DataSet or a DataView to use 这个错误很正常了, 后台代码绑定数据,只有当程序跑起来才会为报表赋值,所以跑起来来能看报表效果。
运行时数据源不支持在设计器中查看报表。
没有在报表设计器中查看就是跑起来时候报错的 你看~ emmm
设置数据未成功,请确保代码中的 DataSourceName 和设计器中数据源名称一致, DataSetName 和设计器中数据集名称一致。
页:
[1]