使用复选框通过c#中的datagridView插入多个数据
我这里有这段代码,我希望在选中复选框后通过datagridview向数据库插入多个学生标记。下面代码的问题是只插入第一个选中行中的数据。如何确保插入每个选定行使用复选框通过c#中的datagridView插入多个数据,c#,checkbox,datagridview,C#,Checkbox,Datagridview,我这里有这段代码,我希望在选中复选框后通过datagridview向数据库插入多个学生标记。下面代码的问题是只插入第一个选中行中的数据。如何确保插入每个选定行 public override void Savebtn_Click(object sender, EventArgs e) { int select; for (int i = 0; i <= dataGridView1.Rows.Count -1; i++) {
public override void Savebtn_Click(object sender, EventArgs e)
{
int select;
for (int i = 0; i <= dataGridView1.Rows.Count -1; i++)
{
DataGridViewRow row = dataGridView1.Rows[i];
if((bool)row.Cells["CheckBoxColumn"].FormattedValue == true)
{
select++;
}
}
if(select == 0)
{
MainClass.showMSG("Please Select at least one Student", "Error", "Error");
}
for (int i = 0; i < dataGridView1.Rows.Count -1; i++)
{
DataGridViewRow row = dataGridView1.Rows[i];
if ((bool)row.Cells["CheckBoxColumn"].FormattedValue == true)
{
obj.st_InsertResults(Convert.ToInt32(row.Cells["stdIDGV"].Value.ToString()),
row.Cells["StdNameGV"].Value.ToString(),
Convert.ToInt32(row.Cells["EngGV"].Value.ToString()));
MainClass.showMSG(" Data added successfully.", "Success....", "Success");
MainClass.disable_reset(panel1);
dataGridView1.DataSource = null;
}
}
}
public override void Savebtn\u单击(对象发送方,事件参数e)
{
int选择;
对于(inti=0;i为什么要将数据源设置为null
dataGridView1.DataSource = null;
尝试删除这一行,应该行!谢谢,虽然这会产生新问题,但仍然有效。插入后如何引用行?因为我最初使用了空数据源。我相信目标是迭代所有行并对其进行操作。为什么需要刷新行?循环应该自行完成并添加行。您可以将最后三行移到循环外(在其中设置布尔值),并在工作完成后显示消息。