如何将数据表绑定到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. 加入形成 , , 。
  2. 然后点击的右上角 ,组 给 。
  3. 在Report1.rdlc上

    • 点击 ,
    • 添加 :dsBody :测试 :clsTables
    • 点击
    • 右键单击Report1.rdlc,选择“ ,将dsBody元素( )

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();

}

}

}

以上是 如何将数据表绑定到ReportViewer运行时 的全部内容, 来源链接: utcz.com/qa/412765.html

回到顶部