数据库有一个表,窗体上有2个数据库有一个表,窗体上有2个DataGridView控件都绑定在这个表上。。控件都绑定在这个表上。。
数据库有一个表,窗体上有2个DataGridView控件都绑定在这个表上,点击一下按钮 将第一个DataGridView中的一行数据添加到第二个DataGridView中,代码如下,
if (dgvData.Rows.Count > 0)
{
DataTable table = (DataTable)dgvDatatoo.DataSource;
DataRow row1= table.NewRow();
table.Rows.Add(row1);
row1.AcceptChanges();
table.AcceptChanges();
for (int i = 0; i <table.Rows.Count; i++)
{
int index = dgvDatatoo.Rows.Add();
if (dgvData.CurrentRow.Cells[i].Value != null)
{
dgvDatatoo.Rows[index].Cells[i].Value = dgvData.CurrentRow.Cells[i].Value.ToString();
}
else
{
dgvDatatoo.Rows[index].Cells[i].Value = "";
}
}
}
错误提示如下:当控件被数据绑定时,无法以编程方式向DataGridView的行集合中添加列。
求解决
------解决方案--------------------
绑定数据集后,不能通过dgvDatatoo.Rows.Add();来增加行,你可以在datatable中增加,然后将datatable绑定到grid,或者要添加row的gird就别绑定数据集,手动添加Row
------解决方案--------------------
既然你绑定的 DataTable ,这样就可以了
C# code
if (dgvData.Rows.Count > 0)
{
DataTable table = (DataTable)dgvDatatoo.DataSource;
DataRow row1 = table.NewRow();
for (int i = 0; i < table.Columns.Count; i++)
{
row1[i] = dgvData.CurrentRow.Cells[i].Value;
}
table.Rows.Add(row1);
}