我如何在wpf中获得数据网格中单元格的值
本文关键字:数据网 网格 单元格 数据 wpf | 更新日期: 2023-09-27 18:07:29
我有一个数据网格,有许多行。我想要得到单元格[0]的值。在窗口表单中,我使用以下代码:
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
if (dataGridView1.Rows[i].Cells[0].Value == null)
{
//do somthing
}
}
问题是,我不知道如何获得单元格的值,因为此代码在WPF中不起作用。
就像我在评论中提到的,你需要阅读更多关于WPF和绑定的工作原理,因为你试图从UI获得的值可以很容易地从底层数据对象中获取。
假设你已经将dataGrid绑定到一些列表 ObservableCollection<MyObject>
,并且dataGrid的第一列绑定到属性 Name
。您可以像这样简单地获取第一个单元格的值:
for (int i = 0; i < dataGridView1.Items.Count; i++)
{
string value = ((MyObject)dataGridView1.Items[0]).Name;
if (String.IsNullOrEmpty(textBlock.Text))
{
// do something.
}
}
也就是说,假设第一个单元格是简单的DataGridTextColumn,您可以在WPF中像这样以传统的WinForms方式获得值:
for (int i = 0; i < dataGridView1.Items.Count; i++)
{
TextBlock textBlock = dataGridView1.Columns[0]
.GetCellContent(dataGridView1.Items[i]) as TextBlock;
if (textBlock != null)
{
if (String.IsNullOrEmpty(textBlock.Text))
{
// do something.
}
}
}
==
是比较运算符。=
用于赋值:
comboBox3.Text = dataGridView1.Rows[i].Cells[0].Value.ToString();