我有一个DataGridView控件,已将allow user to add row属性设置为false。同时,我也只允许在整行选择的情况下操作该控件。
用户可以通过工具栏上的“+”按钮向该控件添加行。这个DGV是通过将数据源拖到一个添加了绑定导航工具栏的表单上创建的。
我的问题是,当我编写删除行的代码时,我进行了检查。
当我选择最后一行进行删除时,SelectedRows.Count = 0。但当我选择其他任何行时,它都是“1”。为什么会这样?
用户可以通过工具栏上的“+”按钮向该控件添加行。这个DGV是通过将数据源拖到一个添加了绑定导航工具栏的表单上创建的。
我的问题是,当我编写删除行的代码时,我进行了检查。
private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
{
try
{
if (dgvUsers.SelectedRows.Count > 0 && dgvUsers.Rows[0].Selected)
MessageBox.Show("You cannot remove the user admin");
else
{
if (MessageBox.Show("Are you sure you want to remove the user?", "Confirm", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
int code = 0;
UserService userService = new UserService();
if (dgvUsers.SelectedRows.Count > 0)
{
int selectedrowindex = dgvUsers.SelectedCells[0].RowIndex;
DataGridViewRow selectedRow = dgvUsers.Rows[selectedrowindex];
code = (int)(selectedRow.Cells[0].Value);
if (GlobalClass.SessionId == "admin")
{
userService.RemoveUsers(code);
}
else
MessageBox.Show("Only username 'admin' can remove users");
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
当我选择最后一行进行删除时,SelectedRows.Count = 0。但当我选择其他任何行时,它都是“1”。为什么会这样?