如何将代码隐藏数据集绑定到 RDLC?
How can I bind code-behind dataset to RDLC?
我有一个包含下拉列表和报表查看器的页面,我使用 dropdownlist.selectValue 作为我的参数来查询,并构建我想要的数据表
我的问题是:如何将code-behind数据表绑定到RDLC以及如何在reportviewer上显示
只有一个错误
this.DataTable1BindingSource.DataSource = ds;
this.reportViewer1.RefreshReport();
我想这正是 rdlc 绑定我的编码数据表的地方。
但我找不到 DataTable1BindingSource
aspx
<asp:ScriptManager runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" >
<LocalReport ReportPath="Report1.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSet1" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" TypeName="DataSet1TableAdapters."></asp:ObjectDataSource>
cs
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
code dataset and datatable here
}
期望rdlc绑定我自己的编码数据表
最后,我将编码数据集重命名为 DataSet.xsd 中的相同名称。不仅是架构,您还需要使代码中的数据集名称与 xsd 文件中的名称相匹配。
例如:
创建一个 DataSet1.xsd 包含名为 DataTable1(默认名称)
的数据表
并且在您的代码中是
DataSet DataSet1 = new DataSet("something");
DataTable DataTable1 = DataSet1.Tables.Add("something");
如果您声明的另一个名称与 xsd 中定义的名称不同,您将在 ReportViewer
上收到错误消息
A data source instance has not been supplied for the data source 'DataSet1'.
我有一个包含下拉列表和报表查看器的页面,我使用 dropdownlist.selectValue 作为我的参数来查询,并构建我想要的数据表
我的问题是:如何将code-behind数据表绑定到RDLC以及如何在reportviewer上显示
只有一个错误
this.DataTable1BindingSource.DataSource = ds;
this.reportViewer1.RefreshReport();
我想这正是 rdlc 绑定我的编码数据表的地方。
但我找不到 DataTable1BindingSource
aspx
<asp:ScriptManager runat="server"></asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" >
<LocalReport ReportPath="Report1.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="ObjectDataSource1" Name="DataSet1" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" TypeName="DataSet1TableAdapters."></asp:ObjectDataSource>
cs
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
code dataset and datatable here
}
期望rdlc绑定我自己的编码数据表
最后,我将编码数据集重命名为 DataSet.xsd 中的相同名称。不仅是架构,您还需要使代码中的数据集名称与 xsd 文件中的名称相匹配。
例如: 创建一个 DataSet1.xsd 包含名为 DataTable1(默认名称)
的数据表并且在您的代码中是
DataSet DataSet1 = new DataSet("something");
DataTable DataTable1 = DataSet1.Tables.Add("something");
如果您声明的另一个名称与 xsd 中定义的名称不同,您将在 ReportViewer
上收到错误消息A data source instance has not been supplied for the data source 'DataSet1'.