gpt4 book ai didi

c# - 将数据集动态绑定(bind)到 RDLC 报告

转载 作者:太空狗 更新时间:2023-10-29 23:26:35 25 4
gpt4 key购买 nike

我想将动态数据集绑定(bind)到 rdlc。如果我在 ASPX 文件(静态绑定(bind))中使用内联数据源,我可以查看报告。但是,如果我使用以下代码,报告查看器会一直显示“正在加载..”图像。

我已经检查了数据集名称,如果我将数据集名称更改为“Orders2”,它会显示未提供所需的数据集“Orders”。因此,我在窗体上添加了 GridView 并测试了我的数据集。数据集包含数据并在 GridView 中显示良好。

问题仅出在报表上,我无法将数据动态绑定(bind)到 ReportViewer。请帮我。谢谢。

protected void Page_Load(object sender, EventArgs e)
{
DataSet ds = GetDataSet();
ReportDataSource rds = new ReportDataSource("Orders", ds.Tables[0]);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();

GridView1.DataSource = ds;
GridView1.DataBind();
}

private DataSet GetDataSet()
{
var conString = ConfigurationManager.ConnectionStrings["dotnetConnectionString"];
string strConnString = conString.ConnectionString;

SqlConnection conn = new SqlConnection(strConnString);
conn.Open();
string sql = "Select * FROM Orders";

SqlDataAdapter ad = new SqlDataAdapter(sql, conn);
DataSet ds = new DataSet();
ad.Fill(ds);

return ds;
}

ASPX代码如下:

<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Height="600px" Width="800px">
<LocalReport ReportPath="Reports\Report.rdlc">
<DataSources>
<rsweb:ReportDataSource />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>

最佳答案

我已经解决了我的问题。

问题是您需要在 IsPostBack 包装下添加您的代码。

if (!Page.IsPostBack)
{
//your binding codes here
}

关于c# - 将数据集动态绑定(bind)到 RDLC 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4652347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com