【问题标题】:Databound Label text displays old data upon save. Re-open record and data is correct?数据绑定标签文本在保存时显示旧数据。重新打开记录和数据是否正确?
【发布时间】:2010-06-07 17:07:07
【问题描述】:

我有一个 Windows 窗体应用程序。我有一个主表单,并且在此表单上有一个按钮来设置“合格”日期/时间戳。我有一个数据绑定标签控件,我在用户单击按钮时设置了值。此日期/时间戳在显示时有效,但是当您单击保存按钮时,它要么显示为空白,要么显示为前一个日期/时间。如果您然后关闭记录并重新打开它,则会显示新的日期/时间值,以便数据进入数据库,它只是没有作为新数据保留在数据集中?不知道为什么数据绑定不刷新值。

即使我使用文本框,我也注意到了这种行为,如果我以编程方式执行它也是一样的。如果我手动输入一个值,它仍然存在??

这是我在按钮的点击事件中使用的代码:

                string result = string.Empty;
                string jobOrderID = UnitOfWork.MasterDSBS.MJOBO[0].JC_IDNO.ToString();
                string timeNow = DateTime.Now.ToString();

                //Call Web service to make the update
                RadServices.Service1 rsWeb = new RadServices.Service1();
                result = rsWeb.SetQualifiedDate(timeNow, jobOrderID );

                //Changed the qualified label text.
                _btnQualify.Text = "Qualified";
                rlQualifiedDate.Text = timeNow;

【问题讨论】:

    标签: c# winforms data-binding


    【解决方案1】:

    【讨论】:

    • 是的,调用刷新然后保存表单具有相同的效果。显示旧值。关闭记录并重新打开,新值显示在标签中。
    • _btnQualify.Text = "合格"; rlQualifiedDate.Text = timeNow; rlQualifiedDate.Refresh();
    • 一定是你的数据绑定的调用,当你持久化修改的时候,是不是马上调用绑定数据的代码?
    • 我必须使用 Web 服务来实际更新值,否则我的代码将无法正常工作。控件是从设计器绑定的,所以我不确定 DataBind 在哪里被调用。这是我继承的遗留应用程序,我习惯于主要在 asp.net 中工作......这段代码中有很多类和继承的抽象。
    • 您能否单步执行代码并查看数据最初绑定的时间,即如果您找到数据绑定的初始点,您只需在保存后调用该方法/代码跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多