我如何在wpf中获取datagrid中的单元格值?

时间:2014-06-07 09:50:01

标签: c# wpf datagrid

我有一个数据网格,有很多行。我想得到cell [0]的值。 在窗口中我使用了这段代码:

 for (int i = 0; i < dataGridView1.Rows.Count; i++)
        {
            if (dataGridView1.Rows[i].Cells[0].Value == null)
            {
                //do somthing
            }
         }

问题是,我不知道如何获取单元格的值,因为此代码在WPF中不起作用。

2 个答案:

答案 0 :(得分:0)

==是一个比较运算符。 =用于分配:

comboBox3.Text = dataGridView1.Rows[i].Cells[0].Value.ToString();

答案 1 :(得分:0)

就像我在评论中提到的那样,你需要阅读更多有关WPF和绑定的信息,因为你试图从UI获取的值可以很容易地从底层数据对象中获取。 / p>

假设您已将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.
        }
    }
}