1. WPF中使用datagrid显示数据库里面的内容
这是一个小技巧啦。在Grid的最后一列,比如你图上的“password”列,将这个列的宽度不设定为固长,而是设为自适应宽度(*)就可以了。
2. wpf 中 DataGrid有没属性 可以显示当前有多少行数据 我想要的结果是 实时更新这个数字
呃.....
你么看懂我写的代码吗?
我只是把自带的cs文件当成vm来用而已啊....
关键只是this.DataContext = this;这句话啊...
this.DataContext = this;
↑ ↑
这个this是画面 这个this其实是vm,只是不想再写个类了....
标准的MVVM 仔细看看...
我改一下你就理解了
其实 你这个问题的解决办法很简单
就是在你的模糊查询的到结果后
1把结果槐旦集的count付值给绑定label.Content属性的那个属性上(我这里就是SelectedCount属性),你的模糊查询在vm里完成,那个属性当然也在vm里... 必须的...
2然后调用INotifyPropertyChanged.PropertyChanged通知画面更新 就可以了
顺便说一句 应该就是程序往画面的更新 所以绑定mode应该是Oneway
-----------------------------------------------------------------------------
修改后:
Xaml文件里:
<Label Content="{Binding SelectedCount, Mode=OneWay}"/>
vm.cs文件里:
public partial class ViewModel: INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public ViewModel()
{
}
private int _selectedCount;
public int SelectedCount
{
get { return _selectedCount; }
set
{
_selectedCount = value;
NotifyPropertyChanged("SelectedCount");
}
}
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
private DataTable SelectData(string _where)
{
//这里是你的模糊查询方法
DataTable table = mySelector.Select(_where);
/凳销/这里给你的Label赋枣明游值
SelectedCount = table.Count;
//把结果集返回去绑定Grid
return table
}
}
------------------------------------------------------------------------
修改前:
Xaml文件里:
<Label Content="{Binding SelectedCount, Mode=TwoWay}"/>
cs文件里:
public partial class MainWindow:Window,INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
public MainWindow()
{
this.DataContext = this;
//这里设置好条件后查询,查询出几条
DataTable table = mySelector.Select("mySQL");
int _count = table.Rows.Count;
//这里给你的Label赋值
SelectedCount = _count;
}
private int _selectedCount;
public int SelectedCount
{
get { return _selectedCount; }
set
{
_selectedCount = value;
NotifyPropertyChanged("SelectedCount");
}
}
private void NotifyPropertyChanged(String info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
只些了关键代码
3. C# winForm 将datagridview 控件中的数据(大约有六千行甚至更多),导入到listview中显示时,卡死了。
使用控件的begininvoke和endinvoke,异步操作,不要直接使用ui线程 ,具体请自己msdn
4. winform DataGridView 大数据量 和 虚拟模式实例。该怎么处理
可以选择分页操作的
wpf倒是有数据虚拟化,首先实现滚动条,然后滚动到元素后,再构造视版图,离开权后,释放视图,继承了虚拟化方法的控件都可以实现;
winform只能靠自己去实现了,我觉得你现在的实力不够实现象wpf那样的虚拟化,光是不加载元素而模拟出滚动条都有点难度,分页吧,也是最常用的手段了;
5. wpf datagrid 怎么增加数据行
首先需要弄清楚的是datagrid是用来呈现后台绑定的数据集合的。所以楼主想增加datagrid里的数据的话,可以直接通过添加后台数据来实现。wpf里绑定方式有许多种,默认为单向绑定。即后台数据变化,前台不会刷新神冲。毁瞎谈前台做了某些交互,后台也不会发生数据的变化。当然,如果只需要完成楼主的意图:即后台纤碰数据刷新,前台表格刷新的话,只需要将后台的数据实体实现INotifyPropertyChanged接口就可以了。