WPF中,我使用了datagrid,我想请问下当我向数据库添加了新的数据,我该怎么刷新datagrid里面的数据?
WPF中,我使用了datagrid,我想请问下当我向数据库添加了新的数据,我该怎么刷新datagrid里面的数据?有什么办法可以刷新datagrid?看清楚是wpf,没有...
WPF中,我使用了datagrid,我想请问下当我向数据库添加了新的数据,我该怎么刷新datagrid里面的数据?有什么办法可以刷新datagrid?
看清楚是wpf,没有refresh方法的。 展开
看清楚是wpf,没有refresh方法的。 展开
2个回答
展开全部
datagrid如何实时刷新展示绑定的数据?
使用dg.ItemSource绑定了一个List<>数据源,然后在timer事件中动态改变List<>表中的数据,可界面不实时刷新,只有重新绑定才能展示最新数据,但用户当前选择的行信息什么的都丢了。
有什么好办法让dataGrid实时刷新,反映绑定的数据呢?
还有,设置dg.ItemSource后,dataGrid会默认选中第一单元格,如何使得dataGrid不自动进行默认选择啊?最好设置dg.ItemSource什么都不选中。
------解决方案--------------------------------------------------------
要实时刷新行 需要 用 ObservableCollection这个集合 命名空间System.Collections.ObjectModel
如果要实时刷新行里的某一列 还要实现INotifyPropertyChanged接口 命名空间System.ComponentModel
C# code
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就可以了,
ObservableCollection<T> 和 INotifyPropertyChanged
其实WPF的数据绑定功能很强大的
使用dg.ItemSource绑定了一个List<>数据源,然后在timer事件中动态改变List<>表中的数据,可界面不实时刷新,只有重新绑定才能展示最新数据,但用户当前选择的行信息什么的都丢了。
有什么好办法让dataGrid实时刷新,反映绑定的数据呢?
还有,设置dg.ItemSource后,dataGrid会默认选中第一单元格,如何使得dataGrid不自动进行默认选择啊?最好设置dg.ItemSource什么都不选中。
------解决方案--------------------------------------------------------
要实时刷新行 需要 用 ObservableCollection这个集合 命名空间System.Collections.ObjectModel
如果要实时刷新行里的某一列 还要实现INotifyPropertyChanged接口 命名空间System.ComponentModel
C# code
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就可以了,
ObservableCollection<T> 和 INotifyPropertyChanged
其实WPF的数据绑定功能很强大的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询