现有4条数据,这4条数据不绑定数据,而用手动输入4条
例:
1
2
3
4
选择第2条数据删除 Main_SalesList.Rows.RemoveAt(Main_SalesList.SelectedRows[0].Index)为什么会删除两条数据 2和3删除了,1和4数据还在
例:
1
2
3
4
选择第2条数据删除 Main_SalesList.Rows.RemoveAt(Main_SalesList.SelectedRows[0].Index)为什么会删除两条数据 2和3删除了,1和4数据还在
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
另外,你不是在 SelectionChanged 时候删除的吧?
private void button1_Click(object sender, EventArgs e)
{
dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[0].Index);
}private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
}
这是我的代码
private void Main_SalesList_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Down)
{
Main_SalesList.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
i = Main_SalesList.CurrentCell.RowIndex;
} if (e.KeyCode == Keys.Up)
{
Main_SalesList.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
i = Main_SalesList.CurrentCell.RowIndex; }
if (e.KeyCode == Keys.Delete)
{
if (Main_SalesList.SelectedRows.Count > 0 && Main_SalesList.SelectedRows[0].Index != Main_SalesList.Rows.Count - 2)
{
Main_SalesList.Rows.RemoveAt(Main_SalesList.SelectedRows[0].Index);
}
}
}
不过 不是这个原因好像
msdn上的例子
private void deleteRowButton_Click(object sender, EventArgs e)
{
if (this.songsDataGridView.SelectedRows.Count > 0 &&
this.songsDataGridView.SelectedRows[0].Index !=
this.songsDataGridView.Rows.Count - 1)
{
this.songsDataGridView.Rows.RemoveAt(
this.songsDataGridView.SelectedRows[0].Index);
}
}