Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# BusinessObject DataSource新数据发生更改时,StimulSoft报告无法正确显示_C#_Linq To Sql_Business Objects_Bindingsource_Stimulsoft - Fatal编程技术网

C# BusinessObject DataSource新数据发生更改时,StimulSoft报告无法正确显示

C# BusinessObject DataSource新数据发生更改时,StimulSoft报告无法正确显示,c#,linq-to-sql,business-objects,bindingsource,stimulsoft,C#,Linq To Sql,Business Objects,Bindingsource,Stimulsoft,我将使用StimulSoft Report for.net作为第三方报告来创建BusinessObject报告 这是我的客户课程 class CustomerSet { public string CustomerID { get; set; } public string CompanyName { get; set; } public string ContactName { get; set; } public str

我将使用StimulSoft Report for.net作为第三方报告来创建BusinessObject报告

这是我的客户课程

class CustomerSet
    {
        public string CustomerID { get; set; }
        public string CompanyName { get; set; }
        public string ContactName { get; set; }
        public string ContactTitle { get; set; }
    }
LINQ to SQL是我的数据访问组件

将所有客户ID加载到列表框

 private void CustomerReport_Load(object sender, EventArgs e)
        {
            var idQuery = from c in db.Customers
                         select c.CustomerID;

            listBox1.DataSource = idQuery;
        }
当用户从列表框中选择ID并单击“显示”按钮时,它将根据该ID查询客户信息并生成报告

     private void btnShow_Click(object sender, EventArgs e)
            {
                try
                {
                    var custQuery = from c in db.Customers
                                      where c.CustomerID == listBox1.SelectedValue.ToString()
                                      select new CustomerSet { 
                                       CustomerID=c.CustomerID,
                                       CompanyName=c.CompanyName,
                                       ContactName=c.ContactName,
                                       ContactTitle=c.ContactTitle
                                      };
                    customersBindingSource.Clear();
                    customersBindingSource.Insert(0,custQury.FirstOrDefault());

                    stiReport1.RegReportDataSources();
                    stiReport1.Show();
                }
                catch (Exception ex) { MessageBox.Show(ex.Message); }
            }
第一次可以,但当用户关闭报告并选择新ID并显示报告时,报告将显示旧记录

请注意,报表由报表向导创建,并使用CustomerBindingSource作为从数据源窗口拖放的数据源

我错过什么了吗? 有人能帮忙吗


谢谢…

请尝试使用
RegData()
方法来代替
RegReportDataSources()

另外,请在显示报告之前尝试使用
Render()
方法。

在重新报告数据源之前添加以下内容:

stiReport1.BusinessObjectsStore.Clear();

我已经尝试了所有这些,但仍然是相同的结果。