我有一个datagridview,我已经设置允许用户将行属性添加为false。Datagridview SelectedRows.Count在选择最后一行时始终为零
我也让它只能在datagridview上有fullrowselect。
用户通过按下工具栏的“+”按钮将行添加到数据网格中。通过将数据库拖动到添加绑定导航器工具栏的表单来创建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”时,我选择的任何其他行。为什么是这样?
没有任何代码很难找出你的问题。你如何添加行?请发布您的代码。 –
如果选择了一行或多行,您的代码将运行。如果选择了一行,selectedrows.count = 1.检查是否在取消选择该行后发生条件。 – chiapa
@Arin Ghazarian。编辑。 –