找回密码
 立即注册

QQ登录

只需一步,快速开始

gao12345

注册会员

5

主题

34

帖子

153

积分

注册会员

积分
153
gao12345
注册会员   /  发表于:2018-5-23 15:48  /   查看:3609  /  回复:9
能贴出绑定代码嘛?

我在学习手册的那个视频中  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[TSource](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[TSource](IEnumerable`1 source)
   在 GrapeCity.ActiveReports.Layout.L2.CanvasImpl.#n3V[T](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()

9 个回复

倒序浏览
gao12345
注册会员   /  发表于:2018-5-23 16:43:51
来自 9#
请问下 为什么我这个代码不报错 运行 就卡死在这个页面?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2018-5-23 16:14:46
沙发
代码中有点小问题:

删除代码:     //绑定报表数据
                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);

回复 使用道具 举报
gao12345
注册会员   /  发表于:2018-5-23 16:15:51
板凳
我已经设置了啊

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
gao12345
注册会员   /  发表于:2018-5-23 16:18:53
地板
                GrapeCity.ActiveReports.Document.PageDocument prtd = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
                prtd.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(LocationData);

我用了你粘给我的代码 还是一样啊
回复 使用道具 举报
gao12345
注册会员   /  发表于:2018-5-23 16:20:47
5#
错误明细:
GrapeCity.ActiveReports.ReportException: 无法连接数据源 ---> System.InvalidOperationException: No data has been set. Please specify either a DataSet or a DataView to use
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2018-5-23 16:22:32
6#
这个错误很正常了, 后台代码绑定数据,只有当程序跑起来才会为报表赋值,所以跑起来来能看报表效果。
运行时数据源不支持在设计器中查看报表。
回复 使用道具 举报
gao12345
注册会员   /  发表于:2018-5-23 16:33:20
7#
没有在报表设计器中查看就是跑起来时候报错的
回复 使用道具 举报
gao12345
注册会员   /  发表于:2018-5-23 16:35:17
8#
你看~ emmm

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2018-5-23 18:29:14
10#
设置数据未成功,请确保代码中的 DataSourceName 和设计器中数据源名称一致, DataSetName 和设计器中数据集名称一致。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部