c# – 如何遍历WPF工具包Datagrid的行
发布时间:2020-12-16 00:12:35 所属栏目:百科 来源:网络整理
导读:我有下一个代码,我定义了一个名为dgQuery的 WPF工具包数据网格控件;我用数据集的信息填充了这个,然后我在dgQuery中插入了一个新的复选框列来检查/取消选中某些行,我展示了部分C#代码: dgQuery.DataContext = dS.Tables[0];DataGridTemplateColumn cbCol = n
我有下一个代码,我定义了一个名为dgQuery的
WPF工具包数据网格控件;我用数据集的信息填充了这个,然后我在dgQuery中插入了一个新的复选框列来检查/取消选中某些行,我展示了部分C#代码:
dgQuery.DataContext = dS.Tables[0]; DataGridTemplateColumn cbCol = new DataGridTemplateColumn(); cbCol.Header = "Opc"; FrameworkElementFactory factory = new FrameworkElementFactory(typeof(CheckBox)); Binding bind = new Binding("IsSelected"); bind.Mode = BindingMode.TwoWay; factory.SetValue(CheckBox.IsCheckedProperty,bind); DataTemplate cellTemplate = new DataTemplate(); cellTemplate.VisualTree = factory; cbCol.CellTemplate = cellTemplate; dgQuery.Columns.Insert(0,cbCol); 在检查/取消选中dgQuery行的新复选框列后,我将单击一个按钮,仅将我检查的行保存到数据库中.问题是,如何开发用于读取dgQuery的所有行的循环以及让我知道哪些行具有选中/取消选中复选框的条件?请帮我举个例子. 谢谢!! 解决方法
这将在您的数据网格中返回一个“行”
public IEnumerable<Microsoft.Windows.Controls.DataGridRow> GetDataGridRows(Microsoft.Windows.Controls.DataGrid grid) { var itemsSource = grid.ItemsSource as IEnumerable; if (null == itemsSource) yield return null; foreach (var item in itemsSource) { var row = grid.ItemContainerGenerator.ContainerFromItem(item) as Microsoft.Windows.Controls.DataGridRow; if (null != row) yield return row; } } 在wpf datagrid中,行是ItemSource.items …没有Rows属性! 希望这可以帮助… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |