0

当网格在表单上并且此代码在 form_load 上时,更新自定义列“hello”的以下代码可以完美运行。但是当网格在用户控件上并且代码在 UserControl1_Load 上时,它不会更新网格(除非我在按钮单击等内添加此代码) - 我责怪微软!

我试图找到一种解决方法来在网格完成渲染后运行该代码,因为它可以工作(例如,当我在 button_click 事件上编写它时),有什么想法吗?

List<MyClass> all_customers = new List<MyClass>();

   all_customers.Add(new MyClass() { MyProperty = 2, MyProperty2 = "33" });
   all_customers.Add(new MyClass() { MyProperty = 2, MyProperty2 = "33" });
   all_customers.Add(new MyClass() { MyProperty = 2, MyProperty2 = "33" });

   dataGridView1.DataSource = all_customers;

   DataGridViewTextBoxColumn c = new DataGridViewTextBoxColumn();
   c.Name = "hello";
   c.HeaderText = "hello";
   dataGridView1.Columns.Add(c);
   dataGridView1.Rows[0].Cells["hello"].Value = "text2";
4

1 回答 1

0
private void dataGridView1_DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
  {
   dataGridView1.Rows[0].Cells["hello"].Value = "pp";

  }

这成功了。由于某种原因,它以前对我不起作用,但是当我从所有复杂的代码行中剥离我的代码时,它确实起作用了。那好吧

于 2012-08-05T20:09:13.743 回答