我有一个在 DataGridView 中有一些数据的 WinForms 应用程序。如果用户双击一个单元格,则需要删除该行,除非他们先单击一个列以按该列对数据进行排序,否则该行工作正常。如果已排序,则事件的行索引仍然是指该行中的原始值(IE 排序数据后双击第一项将删除排序前位于顶部的行)。
有没有办法在排序发生时更新行索引?
当前初始化类似于:
DataTable dt = new DataTable();
NpgsqlDataAdapter da = new NpgsqlDataAdapter(query, connection);
da.Fill(dt);
this.dgv1.DataSource = dt;
双击事件类似于:
private void dgv1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
DataTable dt = (DataTable)dgv1.DataSource;
if (e.RowIndex > -1)
{
dt.Rows.RemoveAt(e.RowIndex);
}
}
我怀疑这个问题很简单,我现在没有看到..