开发者论坛

 找回密码
 注册 (请使用非IE浏览器)
查看: 3193|回复: 1

Dev mvc对象强制转换错误

[复制链接]

0

精华

0

贡献

0

赞扬

帖子
11
软币
119
在线时间
7 小时
注册时间
2014-11-11
发表于 2014-11-27 10:57:55 | 显示全部楼层 |阅读模式
                                                   
controller
//主视图
        public ActionResult spReport()
        {
            spXtraReport xrpt1 = new spXtraReport(GetTempDataSet());
            xrpt1.DataSource = GetTempDataSet();
            ViewData["spReport"] = xrpt1;
            return View();
        }
        //分布视图
        public ActionResult spReportViewerPartial()
        {
            spXtraReport xrpt1 = new spXtraReport(GetTempDataSet());
            xrpt1.DataSource = GetTempDataSet();
            ViewData["spReport"] = xrpt1;
            return View("spReportViewerPartial");
        }
        //数据源
        private DataSet GetTempDataSet()
        {
            DataSet ds = new DataSet();
            DataTable dt = new DataTable("tempTable");
            dt.Columns.Add("test1", Type.GetType("System.String"));
            dt.Columns.Add("test2", Type.GetType("System.String"));
            dt.Columns.Add("test3", Type.GetType("System.String"));
            dt.Columns.Add("test4", Type.GetType("System.String"));
            dt.Columns.Add("test5", Type.GetType("System.String"));
            dt.Columns.Add("test6", Type.GetType("System.String"));
            dt.Columns.Add("test7", Type.GetType("System.String"));
            DataRow tempRow;
            for (int i = 0; i < 7; i++)//i:Row
            {
                tempRow = dt.NewRow();
                tempRow[0] = i.ToString();
                tempRow[1] = i.ToString();
                tempRow[2] = i.ToString();
                tempRow[3] = i.ToString();
                tempRow[4] = i.ToString();
                tempRow[5] = i.ToString();
                tempRow[6] = i.ToString();
                dt.Rows.Add(tempRow);
            }
            ds.Tables.Add(dt);
            return ds;
        }
设计code:
//主视图
        public ActionResult spReport()
        {
            spXtraReport xrpt1 = new spXtraReport(GetTempDataSet());
            xrpt1.DataSource = GetTempDataSet();//绑定数据源是用这种还是用下面ViewData方式?
            ViewData["spReport"] = xrpt1;
            return View();
        }
        //分布视图
        public ActionResult spReportViewerPartial()
        {
            spXtraReport xrpt1 = new spXtraReport(GetTempDataSet());
            xrpt1.DataSource = GetTempDataSet();
            ViewData["spReport"] = xrpt1;
            return View("spReportViewerPartial");
        }
        //数据源
        private DataSet GetTempDataSet()
        {
            DataSet ds = new DataSet();
            DataTable dt = new DataTable("tempTable");
            dt.Columns.Add("test1", Type.GetType("System.String"));
            dt.Columns.Add("test2", Type.GetType("System.String"));
            dt.Columns.Add("test3", Type.GetType("System.String"));
            dt.Columns.Add("test4", Type.GetType("System.String"));
            dt.Columns.Add("test5", Type.GetType("System.String"));
            dt.Columns.Add("test6", Type.GetType("System.String"));
            dt.Columns.Add("test7", Type.GetType("System.String"));
            DataRow tempRow;
            for (int i = 0; i < 7; i++)//i:Row
            {
                tempRow = dt.NewRow();
                tempRow[0] = i.ToString();
                tempRow[1] = i.ToString();
                tempRow[2] = i.ToString();
                tempRow[3] = i.ToString();
                tempRow[4] = i.ToString();
                tempRow[5] = i.ToString();
                tempRow[6] = i.ToString();
                dt.Rows.Add(tempRow);
            }
            ds.Tables.Add(dt);
            return ds;
        }
分布视图:
@Html.DevExpress().DocumentViewer(settings =>
{
   // The following settings are required for a ReportViewer.
   settings.Name = "documentViewer1";
   settings.Report = (spXtraReport)ViewData["spReport"];
   // Callback and export route values specify correspondingcontrollers and their actions.
   // These settings are required as well.
   settings.CallbackRouteValues = new { Controller = "spReport", Action = "spReportViewerPartial" };
   settings.ExportRouteValues = new { Controller = "spReport", Action = "ExportDocumentViewer" };
}).GetHtml()
我这样写在视图里面报:
无法将类型为“System.Web.Mvc.HtmlHelper`1[System.Object]”的对象强制转换为类型“System.Web.Mvc.HtmlHelper”。
     

回复

使用道具 举报

0

精华

0

贡献

0

赞扬

帖子
11
软币
119
在线时间
7 小时
注册时间
2014-11-11
 楼主| 发表于 2014-11-27 11:00:25 | 显示全部楼层
设计code:  
public spXtraReport()
    {
        InitializeComponent();
        //
        // TODO: Add constructor logic here
        //
    }

    public spXtraReport(DataSet ds)//构造函数重载
    {
        InitializeComponent();
        SetDataBind(ds);
    }
    private void SetDataBind(DataSet ds)//绑定数据源
    {
        DataSource = ds;
        this.xrTableCell1.DataBindings.Add("Text", DataSource, "test1");
        this.xrTableCell2.DataBindings.Add("Text", DataSource, "test1");
        this.xrTableCell3.DataBindings.Add("Text", DataSource, "test1");
    }
回复

使用道具 举报

Archiver|手机版|小黑屋|开发者网 ( 苏ICP备08004430号-2 )
版权所有:南京韵文教育信息咨询有限公司

GMT+8, 2024-12-23 02:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表