C# 如何防止在将DataTable作为数据源的DataGridView排序期间清除未绑定的数据

C# 如何防止在将DataTable作为数据源的DataGridView排序期间清除未绑定的数据,c#,datagridview,C#,Datagridview,我有一个DataGridView,它通过与DataTable绑定来填充数据 InputDGV.DataSource = dt1; 稍后,我将使用以下语句执行计算并将结果成功写入同一DataGridView: InputDGV.Rows[Rowi].Cells[column_name].Value = num.ToString(); 我基本上是显示彼此相邻的输入和输出。我希望用户能够对列进行排序,但当前对列进行排序时,输出单元格中未绑定的数据将丢失。有没有办法解决这个问题,或者我必须构建一种

我有一个DataGridView,它通过与DataTable绑定来填充数据

 InputDGV.DataSource = dt1;
稍后,我将使用以下语句执行计算并将结果成功写入同一DataGridView:

InputDGV.Rows[Rowi].Cells[column_name].Value = num.ToString();

我基本上是显示彼此相邻的输入和输出。我希望用户能够对列进行排序,但当前对列进行排序时,输出单元格中未绑定的数据将丢失。有没有办法解决这个问题,或者我必须构建一种方法来将数据存储在数据源dt1中?

如何将列添加到
DataGridView
?是将列添加到
DataGridView
本身还是将列添加到数据表?它将添加到DataGridView本身。以简化的方式,我相信您必须将列添加到
DataTable
。因为您要添加的列不是表的一部分,所以当您单击列标题进行排序时,整个网格将被刷新,并且由于部分网格是无边界的(您添加的列),数据将丢失。在获取数据之后,但在设置网格数据源之前,尝试将此额外列添加到
数据表中,例如:
dt1.Columns.add(“ExtraCol”,typeof(string))然后将网格数据源设置为此表。我相信这应该可以解决排序问题。