我有一个使用bindingSource的Infragistics UltraGrid。
如果我将一个新对象添加到我的绑定列表中,它会在网格底部添加一行,如果没有用户定义的排序就可以了。
问题是,如果用户点击列标题对网格进行排序,是否有办法让新行以正确的排序顺序显示而不是始终位于底部?
重新排序每个插入内容的所有行太贵了。
答案 0 :(得分:8)
似乎有点贫民窟。 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();
为了提高效率,您可以通过禁用重绘等方式来聪明,然后在一批订单等之后调用一堆行上的刷新...
希望有所帮助。我很少运气搜索这个问题。