C# 使用ItemsSource填充的DataGrid不可排序,尽管CanUserSortColumns=";“真的”;
我有一个从数据库填充的datagrid,这样我可以查看和更改数据库 但是,不能通过单击标题对列进行排序。当你点击它们时,什么也没发生。我见过很多关于S.O.的问题,像这样,我改变了我的XMAL很多,尝试了不同的事情,但似乎没有答案能解决我的问题 这是我的C 以下是我在教程中首次尝试的XMAL:C# 使用ItemsSource填充的DataGrid不可排序,尽管CanUserSortColumns=";“真的”;,c#,wpf,database,datagrid,C#,Wpf,Database,Datagrid,我有一个从数据库填充的datagrid,这样我可以查看和更改数据库 但是,不能通过单击标题对列进行排序。当你点击它们时,什么也没发生。我见过很多关于S.O.的问题,像这样,我改变了我的XMAL很多,尝试了不同的事情,但似乎没有答案能解决我的问题 这是我的C 以下是我在教程中首次尝试的XMAL: <grid:DataGrid Name="MyDataGrid" CanUserSortColumns="True"> <grid:DataGrid.Column
<grid:DataGrid Name="MyDataGrid" CanUserSortColumns="True">
<grid:DataGrid.Columns>
<grid:DataGridTextColumn Binding="{Binding Path=Number}"
Header="Number" CanUserSort="True" />
<grid:DataGridTextColumn Binding="{Binding Path=Description}"
Header="Description" CanUserSort="True"/>
</grid:DataGrid.Columns>
</grid:DataGrid>
我如何填充datagrid的问题是什么?我尝试过使用MyDataGrid.DataContext=tasks但是如果我这样做,我似乎根本无法填充数据网格
非常感谢您的建议。您需要将来自数据库的LINQ结果放入支持排序的结构中
试试这个:
TasksDataContext tasksDB = new TasksDataContext();
var tasks = (from p in tasksDB.LubeTasks select p).ToList();
MyDataGrid.ItemsSource = tasks;
您需要将来自数据库的LINQ结果放入支持排序的结构中
试试这个:
TasksDataContext tasksDB = new TasksDataContext();
var tasks = (from p in tasksDB.LubeTasks select p).ToList();
MyDataGrid.ItemsSource = tasks;
是否设置了SortMemberPath?是的,在第一个示例中,我尝试了使用CollectionViewSource。是否设置了SortMemberPath?是的,在第一个示例中,我尝试了使用CollectionViewSource。啊哈!非常感谢。虽然你可能想把它编辑成ToList()
Ah该死,但这会把我的编辑搞砸。现在我得到一个错误,在addnew或edititem事务中不允许排序。这有点挑剔。如果从.NET 3.5更新到.NET 4.5,实际上不需要添加ToList()
。但在4.5中,它抛出了一个,在addnew或edititem事务中,当您编辑某些内容时,不允许“排序”。如果您使用3.5并添加了ToList()
,这似乎是可行的。啊哈!非常感谢。虽然你可能想把它编辑成ToList()
Ah该死,但这会把我的编辑搞砸。现在我得到一个错误,在addnew或edititem事务中不允许排序。这有点挑剔。如果从.NET 3.5更新到.NET 4.5,实际上不需要添加ToList()
。但在4.5中,它抛出了一个,在addnew或edititem事务中,当您编辑某些内容时,不允许“排序”。如果您使用3.5并添加了ToList()
,这似乎是可行的。
TasksDataContext tasksDB = new TasksDataContext();
var tasks = (from p in tasksDB.LubeTasks select p).ToList();
MyDataGrid.ItemsSource = tasks;