【发布时间】:2015-05-18 08:32:27
【问题描述】:
我有一个带有可排序列的DataGridViewControl。在此控件的一行中编辑一条记录的数据后,刷新记录列表并更新DataGridViewControl:
m_Helper.UpdateRecord( some variables );
dgvMyData.DataSource = ReloadData();
在此之前,我保存SortOrder 和用于排序的列:
SortOrder sortOrder = dgvMyData.SortOrder;
DataGridViewColumn sortedColumn = dgvMyData.SortedColumn;
现在重新加载数据后,我希望对预先选择的列进行相同的排序,但我总是得到错误消息
提供的列不属于此 DataGridView 控件
对应的代码如下:
ListSortDirection listSortDirection;
if ( sortOrder == SortOrder.Ascending )
{
listSortDirection = ListSortDirection.Ascending;
}
else
{
listSortDirection = ListSortDirection.Descending;
}
dgvMyData.Sort( sortedColumn, listSortDirection );
这总是会导致ArgumentException 出现上面显示的错误消息 - 我认为这是因为重新加载DataGridView 的数据也会导致DataGridViewColumn 成为一个不同它的名称相同并且包含相同类型的数据。如何实施解决方案?
【问题讨论】:
标签: sorting datagridview