【问题标题】:how change value of some DataTable columns and show them in report by stimulsoft如何更改某些 DataTable 列的值并在 stimulsoft 的报告中显示它们
【发布时间】:2017-08-02 06:34:27
【问题描述】:

我在 DataTable 中有一些信息,并希望在报告中显示它们。 我使用 stimulsoft 进行报告。

现在我想更改某些列的值并在报告中显示更改的值。

这是我的代码:

SqlCommand sqlcom = new SqlCommand();
SqlDataAdapter sqladap = new SqlDataAdapter();
DataTable dt = new DataTable();

sqlcom.Connection = main.sqlcon;
sqladap.SelectCommand = sqlcom;

sqlcom.CommandText = "select  * from table ...";
sqladap.Fill(dt);

dt.TableName = "userhusband";
StiReport rpt = new StiReport();
rpt.Load(Application.StartupPath + @"\data\Report.mrt");
rpt.RegData(dt);
rpt.Dictionary.Synchronize();

rpt.Show();

现在如何更改某些列的值并显示在报告中?

【问题讨论】:

    标签: c# report stimulsoft


    【解决方案1】:

    您需要在重新绑定之前重置您的报告!

    只需在报告代码顶部使用rpt.Reset()。并在 asp.net 中使用 StiWebViewer1.ResetReport()(假设 StiWebViewer1 是您的 asp 页面中的元素)。

    【讨论】:

      【解决方案2】:

      您可以像下面这样更改 dt 值,然后将其显示在您的报告中

        for(int i = 0; i < dt.Rows.Count; i++)
          {
            dt.Rows[i][columnNumber] = "newValue"; }
          }
      

      【讨论】:

      • 我以前用过这种方法,但是没用!我将此datatable 附加到datagridview。当我通过这种方式更改列值时,datagridview 中的值会发生变化,但 report 中的值没有变化!
      【解决方案3】:

      只需更改 DataTable 并再次将其注册到报表中。

      【讨论】:

        猜你喜欢
        • 2015-09-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-26
        相关资源
        最近更新 更多