claver

claver

  • NA
  • 1
  • 2.5k

récupérer une image de Sql server dans un ListView

Dec 11 2013 9:07 AM
Bonjour,je suis débutant en wpf et je suis sur un petit projet qui me pose énormément de problème.Le but est de d'enregistrer le nom(varchar) ,l'âge(int),l'image((varbinary) du fruit d'un arbre dans une base de données Sql Server Pour l'enregistrement j'ai réussi à le faire mais le problème se trouve au niveau dans la récupération des données dans un ListView. Mise à part les autres données seule l'image ne s'affiche pas dans la ListView.

Mon programme se présente ainsi :

english:
Hello, I am a beginner in wpf and I'm on a project that asks me a lot of problem.The goal is to register the name (varchar), age (int), image ((varbinary) fruit a tree in a database Sql Server data to the recording I managed to do it but the problem lies in the recovery of data in a ListView. aside from other data only image s do not appear in the ListView.

My program is as follows:

XAML

  <ListView x:Name="listDonne" HorizontalAlignment="Left" Height="246" Margin="20,371,0,0" VerticalAlignment="Top" Width="358" Cursor="Hand">
            <ListView.View>
                <GridView>

   <GridViewColumn Header="ID">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding ID}" Margin="30,0,0,0" HorizontalAlignment="Stretch"/>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>

                    <GridViewColumn Header="NOM">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Nom}" Margin="30,0,0,0" HorizontalAlignment="Stretch"/>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
................

 <GridViewColumn Header="FRUIT">
                        <GridViewColumn.CellTemplate>
                            <DataTemplate>
                                <Image Source="{Binding image}"/>
                            </DataTemplate>
                        </GridViewColumn.CellTemplate>
                    </GridViewColumn>
.................

 </GridView>



            </ListView.View>
        </ListView>



CLASS

 public class Arbre
    {
       public int ID { get; set; }
        public string Nom { get; set; }
        public int Age { get; set; }
        public BitmapImage image { get; set; }
        public string Desc { get; set; }
        public string Comes { get; set; }

}


CODE BEHIND

public partial class TestWindow1 : Window { OpenFileDialog fd = new OpenFileDialog(); List<Arbre> arbre = new List<Arbre>(); Convertisseur cnt = new Convertisseur(); public TestWindow1() { InitializeComponent(); LordData(); } //recuperation des données void LordData() { try { using (SqlConnection cnx = new SqlConnection(Properties.Settings.Default.ChaineDeConnxion)) { cnx.Open(); byte[] im = null; ListViewItem list = new ListViewItem(); using (SqlCommand cmd = new SqlCommand("select *from Arbres", cnx)) { SqlDataReader rd = cmd.ExecuteReader(); while (rd.Read()) { arbre.Add(new Arbre() { ID = Convert.ToInt32(rd[0]), Nom = rd[1].ToString(), Age = Convert.ToInt32(rd[2]), image =new BitmapImage(new Uri( Convert.ToString(rd[3]))), Desc = rd[4].ToString(), Comes = rd[5].ToString() }); }

//remplissage de ma ListView listDonne.ItemsSource = arbre; rd.Close(); } cnx.Close(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }




Aidez-moi je suis coincé!