在Radgridview

时间:2015-09-01 19:25:16

标签: c# silverlight telerik radgrid radgridview

我在silverlight应用程序中使用telerik Radgridview。因为我已经将itemsource与可观察集合绑定在一起。每当更改集合时,radgridview.ItemSource都绑定到可观察集合。 Everythings工作正常,但每当项目被添加到集合中时,它只是附加在网格中。我想在添加后对集合进行排序。有什么简单的出路吗?

1 个答案:

答案 0 :(得分:0)

取决于您的实施细节,但我认为您应该能够使用LINQ中的OrderBy和CollectionChanged事件来完成大多数情况。您只需重新订阅该活动即可。这是在快速测试中为我工作的代码:

public class BindingViewModel : ViewModelBase
{
    public BindingViewModel()
    {
        Items = new ObservableCollection<int>();
        Items.CollectionChanged += Items_CollectionChanged;
    }

    public void Add(int value)
    {
        Items.Add(value);
    }

    private void Items_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e)
    {
        Items = new ObservableCollection<int>(Items.OrderBy(x => x));
        Items.CollectionChanged += Items_CollectionChanged;
    }

    private ObservableCollection<int> _items;
    public ObservableCollection<int> Items
    {
        get { return _items; }
        set
        {
            _items = value;
            OnPropertyChanged("Items");
        }
    }
}