我有一个绑定到 DataTable 的 DataGridView。
我稍后将一个新的按钮列直接添加到 DGV。下次我刷新表时,我想从 DGV 中清除所有以前的数据。
对于我刚刚做的表,var table = new DataTable();
但是当 DGV 被定义为方法内的本地时,使用 DataGridView 执行此操作会导致它永远不会显示在表单上。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
//dataGridView1 = new DataGridView(); //<-- uncommenting this line breaks the form's dgv from displaying anything
DataTable table = new DataTable();
table.Columns.Add("C_" + table.Columns.Count);
table.Rows.Add("R1");
table.Rows.Add("R2");
dataGridView1.DataSource = table;
DataGridViewButtonColumn oCol = new DataGridViewButtonColumn();
oCol.Name = "Buttons";
oCol.Text = "(...)";
oCol.UseColumnTextForButtonValue = true;
dataGridView1.Columns.Add(oCol);
}
}
}
这是一个错误还是我应该如何正确刷新/重置/清除 dgv?
编辑:
上面的代码片段已从原始内容中编辑。取消注释代码中的行以查看 button1 在 RunMode 时的不同行为。