我如何在WPF中循环数据网格

本文关键字:循环 数据 数据网 网格 WPF | 更新日期: 2023-09-27 18:07:03

我试图插入数据网格的所有行值,所以我想循环的数据网格行和在窗口表单中,我使用了以下代码:

for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    dataGridView1.AllowUserToAddRows = false;
    sale.InsertPerchBill(Convert.ToInt32(textBox1.Text), comboBox1.Text) // Insert function
}

问题是,我不知道我将如何能够循环的数据网格,因为代码不工作在WPF。

我如何循环DataGrid和采取行值?

我如何在WPF中循环数据网格

可以遍历数据网格中的项。如果你把网格绑定到一个类,你可以直接对它进行类型转换。

   for (int i = 0; i < dataGridView.Items.Count; i++)
      (
       YourClass foo = (YourClass)dataGridView.Items[i];
       //do what you need to with that row (item)
      }

尝试创建一个类来表示您的行,我将把我的类命名为"Person",希望使它更容易理解。

 public class Person
     {
      //make all appropriate cells into properties of class
      int age;
      int phoneNum;
      string name;
      }

然后创建一个列表(称为list people)并将所有行对象插入其中。

 List<Person> people = new List<Person>();
 for(int i = 0; i < 10; i++)
  {
   Person tempPerson = new Person(){age=5, phoneNum=5555555555};
   people.Add(tempPerson);
  }

一旦列表被填充,只需设置项目来源:

   dataGridView1.ItemsSource = people;

可以将数据网格设置为根据属性名自动创建列标头。在这种情况下,列标题将是'age', 'phoneNum'和"name";

应该在WPF中使用绑定。假设你有viewModel你有属性可能是collection或List。你应该将这个属性绑定到你的DataGrid ItemSource视图中,你可以枚举这个集合,就像我们在c#编码中做的那样。