sorting - 使用 bindingsource 在正确位置向用户排序的 wingrid 添加新行

标签 sorting infragistics bindingsource ultrawingrid

我有一个使用 bindingSource 的 Infragistics UltraGrid。

如果我在绑定(bind)列表中添加一个新对象,它会在网格底部添加一行,如果没有用户定义的排序,这很好。

问题是,如果用户单击列标题对网格进行排序,有没有办法让新行以正确的排序顺序出现而不是总是在底部?

在每次插入时对所有行重新排序太昂贵了。

最佳答案

看起来有点像贫民窟。 Infragistics 支持也表明 RefreshSortPosition() 方法是唯一的选择。

// Add to binding list which will trigger a row to be added to the bound ultragrid.
this.bindingList.Add(new Person("Smith", "John"));

// Get length since we know this will always be added to the end
int length = this.ultraGrid.Rows.All.Length;

// Get it to sort
this.ultraGrid.Rows[length - 1].RefreshSortPosition();

为了更有效率,你总是可以通过禁用重绘等来聪明一点,然后在一批订单等之后对一堆行调用刷新......

希望对您有所帮助。我在谷歌上搜索这个问题的运气很差。

关于sorting - 使用 bindingsource 在正确位置向用户排序的 wingrid 添加新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/658967/

相关文章:

java - 根据元素的几个类别对大列表进行排序或分离

java - 我有 2 个排序的整数数组,如何在 O(logn) 时间内找到第 k 个最大的项目?

c# - Datagridview 错误 System.IndexOutOfRangeException : Index 0 does not have a value

.net - 允许用户对 DataGridView 中的 LINQ 查询中的列进行排序

php - magento - 使用自定义属性的 addAttributeToSort 对产品集合进行排序 - 不起作用

javascript - 将元素数组位置更改为顶部

jquery - 将选择列添加到 Infragistics Jquery IGGrid

infragistics - Infragistics UltraGrid 和 Infragistics WinGrid 是同一产品吗?

c# - Infragistics UltraGrid - 如何在滚动到达底部时添加行?

c# - 如何正确地将 bindingSource 更改提交到源数据库?