首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wpf数据网格重新排序错误

wpf数据网格重新排序错误
EN

Stack Overflow用户
提问于 2012-12-31 05:12:23
回答 1查看 552关注 0票数 0

当我刷新我的集合时,SortDescription不工作。这是我在互联网上读到的wpf的一个已知bug。

我的经验看起来并没有那么远:-)有人能帮我吗,告诉我如何重新排序我的数据网格……

xaml:

代码语言:javascript
复制
<XmlDataProvider x:Key="SmsData" XPath="/response/conv/sms" >

    </XmlDataProvider>

    <local:RowColorConverter x:Key="RowColorConverter" />

    <CollectionViewSource x:Key="SmsView"  Source="{StaticResource SmsData}" >
        <CollectionViewSource.SortDescriptions>
            <scm:SortDescription PropertyName="date" Direction="Descending" />
            <scm:SortDescription PropertyName="time" Direction="Descending" />

        </CollectionViewSource.SortDescriptions>

        <CollectionViewSource.GroupDescriptions>
            <dat:PropertyGroupDescription PropertyName="recipient" />

        </CollectionViewSource.GroupDescriptions>
    </CollectionViewSource>


   ...

   <DataGrid  ItemsSource="{Binding}" DataContext="{StaticResource SmsView}"   Name="dataGrid1">

    ...

政务司司长:

代码语言:javascript
复制
     public void makeConnection()
{

            ...

            XmlDocument doc = new XmlDocument();
            doc.Load(readStream);

            //refreshing my data
            xdp = FindResource("SmsData") as XmlDataProvider;
            xdp.Document = doc;

            //re-sort => this not working
            if (dataGrid1.ItemsSource != null)
            {

               CollectionViewSource cvs = FindResource("SmsView") as CollectionViewSource;

               cvs.GroupDescriptions.Clear();
               cvs.GroupDescriptions.Add(new PropertyGroupDescription("recipient"));
               cvs.SortDescriptions.Clear();
               cvs.SortDescriptions.Add(new SortDescription("date",ListSortDirection.Descending));
       cvs.SortDescriptions.Add(new SortDescription("time",ListSortDirection.Descending));
               cvs.View.Refresh();
                 }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-31 21:06:01

在您的C#代码中,创建一个ListCollectionView并用该文档填充它。将ListCollectionView设置为公共,并为其提供get和set访问器,然后将DataGrid绑定到ItemsSource="{Binding SmsListCollectionView}“。一旦我使用了CollectionViewSource,GetDefaultView方法返回了一个不可排序的视图。我把所有的东西都换成了ListCollectionView,从那以后我就再也没有问题了。

关于更新,我想你没问题,see this SO question and its solution.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14094706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档