簡體   English   中英

獲取WPF Listview行的值,並使用Linq查詢將它們與數據庫字段進行比較

[英]Get the Value of WPF Listview rows and compare them with database field using Linq query

我想將數據庫中的ECH_INTITULE與listview行的值進行比較,但是我的問題是我無法訪問Linq查詢中的Listview項目

這是我的Listview的Xaml代碼:

<ListView x:Name="listView" SelectedItem="{Binding SelectedItem}" ItemsSource="{Binding}" DataContext="query" HorizontalAlignment="Left" Height="430" Margin="24,47,0,0" VerticalAlignment="Top" Width="940" >
        <ListView.View>
            <GridView x:Name="gridView">
                <GridViewColumn Header="Fournisseur" DisplayMemberBinding="{Binding fournisseur}" Width="280"/>
                <GridViewColumn Header ="Adresse Mail" DisplayMemberBinding="{Binding email}" Width="270"/>
                <GridViewColumn Header ="Date" DisplayMemberBinding="{Binding date}" Width="150"/>
                <GridViewColumn Header="Fichier CSV" DisplayMemberBinding="{Binding xxx}" Width="105"/>
                <GridViewColumn Header="Fichier PDF" DisplayMemberBinding="{Binding xxx}" Width="105"/>
            </GridView>
        </ListView.View>
    </ListView>

這是我的C#代碼:

//Generate CSV Files for each item in the Listview
        CsvFileDescription outpCsvFileDescription = new CsvFileDescription
        {
            SeparatorChar = ',',
            FirstLineHasColumnNames = true
        };

        for (int i = 0; i < listView.Items.Count; i++)
        {
            var infoEcheances = from f in db.F_ECHEANCES
                                //where f.ECH_Intitule == ???
                                select new { f.ECH_Intitule, f.ECH_DateEch, f.CG_Num, f.ECH_Piece, f.ECH_RefPiece, f.ECH_Montant, f.ECH_Libelle };


            CsvContext cc = new CsvContext();
            string myPath = @"C:\Users\DefaultAccount\Desktop\Projet Top Of Travel\FichiersCSV\";
            string filename = string.Format("Facture{0}.csv", i);
            string finalPath = System.IO.Path.Combine(myPath, filename);
            cc.Write(infoEcheances, finalPath, outpCsvFileDescription);
        }

您不能像這樣直接比較行。 請嘗試以下代碼。

//Generate CSV Files for each item in the Listview
    CsvFileDescription outpCsvFileDescription = new CsvFileDescription
    {
        SeparatorChar = ',',
        FirstLineHasColumnNames = true
    };

    for (int i = 0; i < listView.Items.Count; i++)
    {
        var infoEcheances = from f in db.F_ECHEANCES
                            where f.ECH_Intitule == listView.Items[i].f.ECH_Intitule
                            select new { f.ECH_Intitule, f.ECH_DateEch, f.CG_Num, f.ECH_Piece, f.ECH_RefPiece, f.ECH_Montant, f.ECH_Libelle };


        CsvContext cc = new CsvContext();
        string myPath = @"C:\Users\DefaultAccount\Desktop\Projet Top Of Travel\FichiersCSV\";
        string filename = string.Format("Facture{0}.csv", i);
        string finalPath = System.IO.Path.Combine(myPath, filename);
        cc.Write(infoEcheances, finalPath, outpCsvFileDescription);
    }

暫無
暫無

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

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