wpf 中 DataGrid有没属性 可以显示当前有多少行数据? 我想要的结果是...
发布网友
发布时间:2024-09-27 06:32
我来回答
共1个回答
热心网友
时间:2024-10-04 12:52
呃.....
你么看懂我写的代码吗?
我只是把自带的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));
}
}
}
只些了关键代码
wpf 中 DataGrid有没属性 可以显示当前有多少行数
1把结果集的count付值给绑定label.Content属性的那个属性上(我这里就是SelectedCount属性),你的模糊查询在vm里完成,那个属性当然也在vm里... 必须的...2然后调用INotifyPropertyChanged.PropertyChanged通知画面更新 就可以了 顺便说一句 应该就是程序往画面的更新 所以绑定mode应该是Oneway ...
WPF DataGrid 没有行的概念吗?怎么能拿到选中行的索引? DataGrid.Sel...
包括行、列索引 // DataGridRow 对象 // DataGridCell 数据模板中的首元素 // 获取绑定到 DataGridRow 上的数据对象 var infos = dg.SelectedCells.Select(s => new { ColumnIndex = s.Column.Display
WPF中datagrid的DataGridTextColumn显示多行
<DataGridTextColumn Header="地址" Width="5*" Binding="{Binding Url}"> <DataGridTextColumn.ElementStyle> <Style TargetType="TextBlock"> <Setter Property="TextWrapping" Value="Wrap"/> <Setter Property="Height" Value="auto"/> </Style> </DataGridTextColumn.Element...
WPF 入门教程DataGrid基本功能
从基本用法开始,无需设置任何属性,DataGrid就能显示数据。首先,创建一个User对象列表作为数据源,如这样简单操作即可启动:初次体验DataGrid的便利性在于它能自动根据数据源调整列。然而,在需要更多控制时,可以手动定义列,包括选择要显示和编辑的属性,甚至使用自定义控件。例如,一个示例中,我们手动定义...
如何给WPF中的DataGrid的ComBox编辑列添加数据
如果这里解决了您的问题,请您点一下推荐 × WPF项目中现有一个DataGrid,其中有一个名为“姓名”的模板列和名为“工号”的文本列,模板列在编辑时是一个ComBox,要实现的功能:ComBox的选项是从数据查询得到的姓名列表(如人员表中性别为女的人的姓名列表),选择其中的某个姓名,TextBlock显示选择的...
WPF在datagrid中checkbox怎么遍历checkbox获取多选的项的ID?
datagrid一旦与数据集合绑定之后,它的每个Row其实就跟每个数据实体绑定了。也就是说datagridrow.dataContext就是一个数据实体。而且wpf的逻辑树机制,使得datagridcell.dataContext及这些个datagridcell里的控件的dataContext也是所在行所绑定的数据实体。你获取到check过的checkbox,你可以通过(checkbox.dataContext ...
WPF使用自动生成时怎么获得DataGrid的行数
1 if(dal.getNumOfRows("Table1")< dgStatus.Items.Count)
WPF DataGrid选择行或单元格
在WPF DataGrid中,选择行或单元格的行为与直接用鼠标点击有所区别。通过代码设置SelectedItem或SelectedIndex属性虽然可以选中行,但会导致焦点行为与鼠标交互不同,如行不会像鼠标点击时那样高亮显示,且不能直接使用方向键导航。要实现与鼠标点击相似的行为,需要通过访问DataGrid的可视化元素并调用DataGridCell...
WPF界面数据延迟显示问题
1000行的数据一次显示是不科学的,最好的方式是分页显示,每页20行左右,简单可行。第二种方式是缓存的形式,类似于微博那样,先显示前50行,当下拉到45行时,加载51—100行的内容。最后一种方式是多线程方式,第一条线程加载页面控件,第二条线程加载前50行内容(保证用户体验),第三条线程加载余下的...
WPF新手小白随笔-DataGrid属性及样式设置
作为一个刚接触WPF的新手,我在实际项目中边学边实践,专注于UI方面的基础调整。这里分享一些关于DataGrid的属性设置和样式技巧,这些都是我在探索过程中积累的实用经验。DataGrid的属性设置主要包括消除列分割线,使列表呈现出单双行不同的颜色以区分,以及实现点击选中和鼠标悬停时的交互效果。这些可以通过...