我如何在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中获得数据网格中单元格的值

就像我在评论中提到的,你需要阅读更多关于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();