我有一个网格,被绑定一个收集。由于某些原因,我不知道,现在我做一些行动中的电网,该电网没有更新。

情况:当我按一个按钮在格,增加值,是在同样的路线。当我点,我可以调试和价值增加的价值却没有改变。 当我按一下按钮,尽量减少和恢复windows,该数值的更新...什么做我必须做的有价值的更新喜欢它原来所在之处,怎么样呢?

更新 这不是解决的,但我接受了最好的答案在这里周围。

它没有解决因为它可以作为usuall当的数据是从数据库,但不是从高速缓存。对象化,并投掷过程中的事件的丢失。这就是为什么我建立他们回来,它的工作原理是什么我知道因为我可以与他们进行互动,但它似乎是它不工作的更新的格为一个未知的原因。

有帮助吗?

解决方案

为了结合是双向的,从控制数据源和数据源,以控制的数据源必须实施财产改变通知事件,有2个可能的方式:

  • 实施 接口,并提高活动时的性质变化:

    public string Name 
    {
      get
      {
        return this._Name;
      }
      set
      {
        if (value != this._Name)
        {
            this._Name= value;
            NotifyPropertyChanged("Name");
        }
      }
    }
    
  • Inplement一个改变了的事件对每一个财产,必须通知控制时,它的变化。事件名称必须在形式 属性名改变:

    public event EventHandler NameChanged;
    
    public string Name 
    {
      get
      {
        return this._Name;
      }
      set
      {
        if (value != this._Name)
        {
            this._Name= value;
            if (NameChanged != null) NameChanged(this, EventArgs.Empty);
        }
      }
    }
    

    *作为一个注意你的财产价值是正确的后窗口最大化,因为控制重读值的数据源。

其他提示

听起来您需要在更新代码中调用DataBind。

我正在使用Collection和Grid之间的BindingSource对象。通常我不需要打电话。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top