datagrid如何实时刷新展示绑定的数据?
使用dg.ItemSource绑定了一个List<>数据源,然后在timer事件中动态改变List<>表中的数据,可界面不实时刷新,只有重新绑定才能展示最新数据,但用户当前选择的行信息什么的都丢了。
有什么好办法让dataGrid实时刷新,反映绑定的数据呢?
还有,设置dg.ItemSource后,dataGrid会默认选中第一单元格,如何使得dataGrid不自动进行默认选择啊?最好设置dg.ItemSource什么都不选中。
[解决办法]
要实时刷新行 需要 用 ObservableCollection这个集合 命名空间System.Collections.ObjectModel
如果要实时刷新行里的某一列 还要实现INotifyPropertyChanged接口 命名空间System.ComponentModel
public class Data : INotifyPropertyChanged { private int _Jan; public int Jan { get { return _Jan; } set { _Jan = value; NotiFy("Jan"); } } public event PropertyChangedEventHandler PropertyChanged; public void NotiFy(string property) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(property)); } } }
[解决办法]
twoway是双向的,就你问题提的oneway就可以了,另外就是我在1楼说的 否则是不能实时刷新数据的
[解决办法]
1楼正解。ObservableCollection<T> 和 INotifyPropertyChanged