C # заполнить сетку данных WPF

#c# #wpf #data-binding #db2 #wpfdatagrid

#c# #wpf #привязка данных #db2 #wpfdatagrid

Вопрос:

Я столкнулся с проблемой, когда хотел заполнить сетку данных WPF с помощью C #. В моем XAML я создал столбцы и связал свои столбцы с моим списком строк, который содержит мои данные. Вот мой код, можете ли вы сказать мне, что я сделал не так, потому что прошло уже 2 дня, и я застрял?

 <DataGrid  x:Name="ListeFiches" HorizontalAlignment="Left" Height="278" Margin="10,126,0,0" VerticalAlignment="Top" Width="612" SelectionChanged="ListeFiches_SelectionChanged"  AutoGenerateColumns="False" Loaded="Window_Loaded">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Progiciel" x:Name="prog" />
            <DataGridTextColumn Header="nbfiche" x:Name="nbfiche"  />
            <DataGridTextColumn Header="etb" x:Name="etb" />
            <DataGridTextColumn Header="Demandeur"  x:Name="Demand" />
            <DataGridTextColumn Header="Correcteur" x:Name="correc"  />
            <DataGridTextColumn Header="PRGM"  x:Name="PRGM" />
            <DataGridTextColumn Header="APP" x:Name="APP"  />
            <DataGridTextColumn Header="MOD" x:Name="MOD"  />
            <DataGridTextColumn Header="OPT"  x:Name="OPT" />
        </DataGrid.Columns>
   </DataGrid>
  

Мой КОД:

 try
{
    conn.Open();
    if (conn != null)
    {
       // MessageBox.Show("connexion établie");
       string qry = "SELECT * FROM DIITOOL.FICENT where MTPRO = 'G12' or MTPRO='URG' ";
       iDB2Command comm = conn.CreateCommand();
       comm.CommandText = qry;
       iDB2DataReader reader = comm.ExecuteReader();
       while (reader.Read())
       {
          data.Add(reader[0].ToString()   reader[1].ToString()   reader[2].ToString() 
                      reader[3].ToString()   reader[4].ToString()   reader[5].ToString()   reader[7].ToString()); 
       }
       ListeFiches.Items.Add(data);
       reader.Close();
       comm.Dispose();
       }
  }
  catch (Exception ex)
  {
       MessageBox.Show("Error : "   ex.ToString());
  }
  

и пустая строка выглядит следующим образом
введите описание изображения здесь

Комментарии:

1. И что именно не работает? Зачем использовать код для заполнения данных, когда это можно было бы сделать намного чище с помощью MVVM?

2. l во время выполнения в моей сетке данных отображается количество строк с моими возвращенными данными, но не отображается содержимое данных.например, у меня есть 3000 возвращенных строк, в сетке данных отображается 3000 пустых строк

3. возможно ли это запрограммировать как column1.items = reader[0]?

4. @aymannblal: Что такое data ? Как это определяется?

5. данные — это список строк, который содержит результат запроса db2 sql, здесь его определение общедоступный статический список<строка> данные = новый список<строка>() { };