我有一个数据网格,有很多行。我想获取cell [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的第一列已绑定到property 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.
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句