我有一个datagridview并使用datatable作为数据源填充它。
我想在按钮点击时添加一个新行,使用方法首先取消绑定它,然后在其中添加新行。如下:
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource= null;
dataGridView1.Rows.Add();
但不是在现有行下面添加新行,而是清除行中的现有数据。我认为将该行作为新行。
如何在现有行下添加新行,并将数据保存在其他行中。
注意 - datagridview视图的列是自定义列。
答案 0 :(得分:0)
如果需要保持现有行的安全,则必须保留数据源。可以试试以下吗?
public partial class Form1 : Form
{
DataTable dt;
public Form1()
{
InitializeComponent();
InitDataGridView();
}
private void InitDataGridView()
{
dt = new DataTable();
dt.Columns.Add("A"); dt.Columns.Add("B");
var dr = dt.NewRow();
dr["A"] = "A-init"; dr["B"] = "B-init";
dt.Rows.Add(dr);
dataGridView1.DataSource = dt;
}
private void button2_Click(object sender, EventArgs e)
{
var dr = dt.NewRow();
var counter = dt.Rows.Count;
dr["A"] = "A-" + counter; dr["B"] = "B-" + counter;
dt.Rows.Add(dr);
}
}