2016-04-29 53 views
0

我想將我的數據庫中的ECH_INTITULE與listview行的值進行比較,但是我的問題是我無法訪問我的Linq中的Listview項目在這裏查詢獲取WPF Listview行的值,並使用Linq查詢將其與數據庫字段進行比較

是我的列表視圖我的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); 
     } 

回答

0

你不能直接比較一排這樣的。 請用下面的代碼嘗試。

//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); 
    } 
+0

我有一個錯誤:對象不包含f的定義。所以它不接受參數ECH_INTITULE:listview,Items [1] .f.ECH_INTITULE –

+0

這是我給出的樣例。您必須根據您的要求將其替換爲您的項目名稱 – ViVi

相關問題