我的 WinForms 应用程序上有一个 datagridview,它显示了客户正在处理的案例列表。双击 datagridview 上的“CaseNo”列会打开一个特定于所选案例的新表单。双击事件代码如下:
private void dataGV_CellCoubleClick(object sender, DataGridCellEventArgs e)
{
if (e.ColumnIndex == 0)
{
DataTable table = (DataTable)dataGV.DataSource;
string strCaseNo = table.Rows[e.RowIndex][e.ColumnIndex].ToString();
frmCase fC = new frmCase(strCaseNo);
fC.MdiParent = this.MdiParent;
fC.Show;
}
}
案例表格可以正常打开。但是,如果用户之前双击列标题以对 datagridview 应用排序,则双击数据行会打开错误的情况。
例如:
案例名称
1 史密斯
2琼斯
3 沃尔特
最初单击 2 将打开 Jones 的 frmCase。但是,如果您首先双击名称列按字母顺序排序,如下所示:
案例名称
2琼斯
1 史密斯
3 沃尔特
然后现在单击 2 将打开 Smith 案例(而不是应有的 Jones)。
似乎在排序后,双击一个单元格会返回先前占用该行的值(好像数据源尚未排序,即使它已在用户屏幕上排序)。
有人可以告诉我如何纠正这个问题。