我有一个Datagridview,它包含两个按钮,一个AddEntry按钮和一个FormEntry按钮。无论何时加载表单,excel表中的数据都将加载到gridview。
将数据从Excel工作表加载到gridview时,我没有任何问题。 AddEntry按钮会将我重定向到另一个表单,该表单有一些文本框可以添加条目。
但是,当我尝试通过单击AddEntry按钮向gridview添加新条目时,我收到此错误:"行不能编程地添加到控件绑定/数据绑定的行集合中#34;
这是我的代码隐藏的AddEntry按钮:
private void AddEntry_Click(object sender,eventargs e)
{
gridview.Rows.Add(_sno.Text,_date.Text,_category.Text);
}
表单中的构造函数,其中包含用于添加数据的文本框:
DataGridView gridview;
public FinanceEntries_Open(DataGridView _grid,string filename)
{
InitializeComponent();
label2.Text = filename;
gridview = _grid;
}
答案 0 :(得分:0)
如果您使用DataSource
的{{1}}属性绑定到数据,则无法将行直接显式添加到DataGridView
。您必须直接向数据源添加行。
相反,您可以将此新行添加到绑定到DataGridView的DataSet或DataTable。
您可以使用DataTable.NewRow
方法向绑定数据添加新行并刷新GridView。
如果您绑定DataGridView
DataTable
如果您使用的是DataTable dataTable = new DataTable();
DataRow newRow = dataTable.NewRow();
// add new data to this newRow
dataTable.Rows.Add(newRow);
List
答案 1 :(得分:0)
由于您正在使用绑定,因此需要将对象直接添加到基础集合而不是数据网格视图。如果使用列表或数据表,请将新对象添加到此集合。凭借绑定,它将显示在您的数据网格视图中。