C# 如何对c wpf数据网格中的Radiobox列进行排序,因为我希望选中(首选)数据记录显示在顶部?

C# 如何对c wpf数据网格中的Radiobox列进行排序,因为我希望选中(首选)数据记录显示在顶部?,c#,wpf,datagrid,C#,Wpf,Datagrid,由于WPF未对Radiobox列进行排序。有人能帮忙吗? 这是我显示记录的代码。 XAML: 已解决:我在Select命令中对Sqlite数据库进行排序:选择VP_Vname、VP_VendorSKU、VP_SKUcaseCost、VP_qtyncase、VP_isVendorActive from VendorProducts,其中VP_ProductID=@WORD ORDER BY VP_isVendorActive DESC 我使用了以下命令:DT.DefaultView.Sort=VP

由于WPF未对Radiobox列进行排序。有人能帮忙吗? 这是我显示记录的代码。 XAML:


已解决:我在Select命令中对Sqlite数据库进行排序:选择VP_Vname、VP_VendorSKU、VP_SKUcaseCost、VP_qtyncase、VP_isVendorActive from VendorProducts,其中VP_ProductID=@WORD ORDER BY VP_isVendorActive DESC

我使用了以下命令:DT.DefaultView.Sort=VP_isVendorActive desc;但它向我显示了运行时错误:找不到列VP_isvendorActivethefollowing://DataView dv=DT.DefaultView//dv.Sort=VP_Vname desc//数据表SORTEDTT=dv.ToTable;//也给我同样的错误:找不到列VP_Vname;这一个也给了我同样的错误:DT.DefaultView.Sort=VendorProducts.VP_isVendorActive desc;已解决:我在Select命令中对Sqlite数据库进行排序:选择VP_Vname、VP_VendorSKU、VP_SKUcaseCost、VP_qtyncase、VP_isVendorActive from VendorProducts,其中VP_ProductID=@WORD ORDER BY VP_isVendorActive DESC;
    <DataGrid x:Name="DG_VendorPur" AutoGenerateColumns="False" ItemsSource="{Binding VendorProducts}" Grid.Row="7" Grid.RowSpan="4" FontFamily="Franklin Gothic Medium" FontSize="18" Background="#FFEBDCEB" AlternatingRowBackground="#FFDAE7F5" SelectionMode="Single" ColumnWidth="*" Grid.Column="5" Grid.ColumnSpan="6" SelectedCellsChanged="DG_VendorPur_SelectedCellsChanged">
                    <DataGrid.Columns>
                        <DataGridTemplateColumn Header="Preferred" Width="90">
                            <DataGridTemplateColumn.CellTemplate>
                                <DataTemplate>
                                    <RadioButton x:Name="DG_isPreferred" HorizontalAlignment="Center" GroupName="Preferred" IsChecked="{Binding Path=VP_isVendorActive, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay}" MaxWidth="25" />
                                </DataTemplate>
                            </DataGridTemplateColumn.CellTemplate>
                        </DataGridTemplateColumn>
                        <DataGridTextColumn     x:Name="DG_Vname"       Header=" Vendor Name "  MinWidth="50" Width="*" Binding="{Binding Path=VP_Vname}"       FontFamily="Calibri" />
                        <DataGridTextColumn     x:Name="DG_VItemNo"     Header=" Vendor SKU# "  MinWidth="50" Width="*" Binding="{Binding Path=VP_VendorSKU}"   FontFamily="Calibri"/>
                        <DataGridTextColumn     x:Name="DG_VCaseCost"   Header=" Case Cost "    MinWidth="50" Width="100" Binding="{Binding Path=VP_SKUcaseCost}" FontFamily="Calibri"/>
                        <DataGridTextColumn     x:Name="DG_VQtyPerCase" Header=" Qty/Case "     MinWidth="50" Width="100" Binding="{Binding Path=VP_QtyInCase}"   FontFamily="Calibri"/>
                    </DataGrid.Columns>
                </DataGrid>
    sqliteCon.Open();
                string Product = TB_PscanID.Text;
                cmd.CommandText = "Select VP_Vname,VP_VendorSKU,VP_SKUcaseCost,VP_QtyInCase,VP_isVendorActive from VendorProducts where VP_ProductID= @WORD";
                cmd.Parameters.AddWithValue("@word", Product);
                cmd.Prepare();
                cmd.ExecuteNonQuery();
                SQLiteDataAdapter SDAdap = new SQLiteDataAdapter(cmd);
                DataTable DT = new DataTable("VendorProducts");
                SDAdap.Fill(DT);
                DG_VendorPur.ItemsSource = DT.DefaultView;
                sqliteCon.Close();