簡體   English   中英

在C#,WPF中,如何將基於sqlite數據庫的datagrid中存儲在數據庫中的值設置/分配給復選框

[英]in c#, wpf, how do you set/assign value stored in database to a checkbox in datagrid based in sqlite database

在wpf中,我在sqlite數據庫列中的一條記錄的值為true,但未在datagrid列中顯示為選中的標記。 有人可以幫忙嗎? XAML代碼:

    <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>
                        <DataGridCheckBoxColumn x:Name="DG_V_IsDefault" Header=" Preferred "    MinWidth="50" Width="*" Binding="{Binding Path=VP_isVendorActive, Mode=TwoWay}" SortDirection="Ascending" IsThreeState="True" />
                        <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="*" Binding="{Binding Path=VP_SKUcaseCost}" FontFamily="Calibri"/>
                        <DataGridTextColumn     x:Name="DG_VQtyPerCase" Header=" Qty/Case "     MinWidth="50" Width="*" Binding="{Binding Path=VP_QtyInCase}"   FontFamily="Calibri"/>
                    </DataGrid.Columns>
                </DataGrid>

xaml.cs:

    sqliteCon.Open();
                string Product = TB_PscanID.Text;
                cmd.CommandText = "Select VP_Vname,VP_VendorSKU,VP_SKUcaseCost,VP_QtyInCase 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;
                DataRecord = DG_VendorPur.Items.Count;
                SDAdap.Update(DT);
                sqliteCon.Close();

問題出在您的查詢中:

SELECT VP_isVendorActive, /* You're missing this column */
       VP_Vname,
       VP_VendorSKU,
       VP_SKUcaseCost,
       VP_QtyInCase
FROM VendorProducts WHERE VP_ProductID= @WORD

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM