当前位置: 首页 > 面试题库 >

如何将数据表绑定到ReportViewer运行时

通迪
2023-03-14
问题内容

我希望做一个绑定 数据表的ReportViewer 与下面的代码。我没有看到结果出现在 reportviewer中
,下面缺少什么脚本?

// create dataset
DataSet ds = new DataSet("myDataset");

// create datatable
DataTable dt = new DataTable("myDatatable");

// add columns
dt.Columns.Add("column1", typeof(string));
dt.Columns.Add("column2", typeof(string));
dt.Columns.Add("column3", typeof(string));

// insert data rows
dt.Rows.Add("row1-col1", "row1-col2", "row1-col3");
dt.Rows.Add("row2-col1", "row2-col2", "row2-col3");

// add datatable to dataset 
ds.Tables.Add(dt);

// bind datatable to report viewer
this.reportViewer.Reset();
this.reportViewer.ProcessingMode = ProcessingMode.Local;
this.reportViewer.LocalReport.ReportEmbeddedResource = "Test.Report1.rdlc";
this.reportViewer.LocalReport.DataSources.Clear();
this.reportViewer.LocalReport.DataSources.Add(new ReportDataSource(dt.TableName, dt));
this.reportViewer.RefreshReport();

问题答案:

我找到了如何将数据表绑定到reportviewer的答案,我将在这里分享可能对其他人有用。

  1. 加入形成 clsTables类Report1.rdlc文件reportViewer1
  2. 然后点击的右上角 reportViewer1 ,组 选报告Test.Report1.rdlc
  3. 在Report1.rdlc上
    • 点击 新建
    • 添加 数据集名称 :dsBody 数据源 :测试 可用数据集 :clsTables
    • 点击 确定
    • 右键单击Report1.rdlc,选择“ 插入表” ,将dsBody元素( Column0,Colum1,Column2
      拖到Report1.rdlc表


Namespace Test{
    public class clsTables {
        // constructor
        public clsTables(string col0, string col1, string col2) {
            this.Column0= col0;
            this.Column1= col1;
            this.Column2= col2;
        }

       // properties
       public string Column0{ get; set; }
       public string Column1{ get; set; }
       public string Column2{ get; set; }
    }
}

namespace Test{
    public class clsMain{
        public void BindToRepprtViewer() {        
            // create dataset
            DataSet ds = new DataSet("myDataset");

            // create datatable
            DataTable dt = new DataTable("myDatatable");

            // add columns
            dt.Columns.Add("column1", typeof(string));
            dt.Columns.Add("column2", typeof(string));
            dt.Columns.Add("column3", typeof(string));

            // insert data rows
            dt.Rows.Add("row1-col1", "row1-col2", "row1-col3");
            dt.Rows.Add("row2-col1", "row2-col2", "row2-col3");

            // add datatable to dataset 
            ds.Tables.Add(dt);

            // save rows to rowList 
            List<clsTables> rowList = new List<clsTables>();
            rowList .Clear();
            foreach (DataRow row in dt.Rows) {
                rList.Add(new clsTables(Convert.ToInt32(row.ItemArray[0]), row.ItemArray[1].ToString(), row.ItemArray[2].ToString()));
            }

            // binding rowList to bs
            BindingSource bs = new BindingSource();
            bs.DataSource = rowList;

            // binding bs to rds
            ReportDataSource rds = new ReportDataSource();
            rds.Name = "dsBody";
            rds.Value = bs;

            // binding rds to report viewer
            reportViewer1.Reset();
            reportViewer1.LocalReport.ReportEmbeddedResource =  "Test.Report1.rdlc";
            reportViewer1.LocalReport.DataSources.Clear();
            reportViewer1.LocalReport.DataSources.Add(rds);
            reportViewer1.RefreshReport();
        }
    }
}


 类似资料:
  • 问题内容: 我需要将 DataTable 绑定到 DataGridView 。我这样做: 但我得到的是 数据表中 增加了新的 列到我 的DataGridView 。我不需要这个,我只需要在现有列下编写即可。 拜托,帮帮我,伙计们! 问题答案: 尝试这个: 如果您不想清除所有现有的列,则必须为每个现有的列进行设置,如下所示:

  • 我有动态文本要绑定到HTML页面上。这是一个Angular 2应用程序。我正在使用这样的东西: 但是我收到一个错误: 无法绑定到“aria-label ”,因为它不是“div”的已知属性。 对此有什么解决方法吗?

  • 如何将MVVM值绑定到dropdownlist?下面的输入元素运行良好

  • 问题内容: 我正在MVC 4应用程序中工作..我想使用jQuery将json数据绑定到应用程序中的表。我能够使用方法将数据集(我从数据库中获取数据)转换为json数据并获取json数据。但是我不知道如何使用jquery将其绑定到表。请告诉我解决此问题的方法。 JSon数据 : 我的json数据是这样的。 jQuery : 查看 : 控制器 : 问题答案: 首先,您应该将返回的json 字符串 解析

  • 我能够在应用程序引擎上部署docker用于flask应用程序。Dockerfile如下所示: 使用gcsfuse挂载google存储时Docker构建失败 他们正在装订这卷书。我想把它绑成

  • 问题内容: 我有一个JList和ArrayList。如何将arraylist中的数据绑定到jlist.Ares有替代方法吗? 如何绑定以上代码。现在代码给出错误。 问题答案: 您无需克隆ArrayList。只需调用toArray()