2013-09-06 3 views
2

Прежде всего, я прочитал все более усмешевые вопросы и попробовал их ответы. Ничто не работает для меня.Как связать список объектов с datagrid?

Я создал класс под названием student. Затем я загрузил список студентов из базы данных.

Теперь я хочу показать этот список в datagrid. Все, что я получаю пустой стол .. :(

Что, кажется, проблема (я пытался DataContext вместо ItemSource)

Мой C# код:

public partial class MainWindow : Window 
{ 
    public List<student> studentsList = new List<student>(); 
    public MainWindow() 
    { 
     try 
     { 
      InitializeComponent(); 
      Classes.studentManager stdManager = new Classes.studentManager(); 


      studentsList = stdManager.Select(); 

      this.dgStudents.DataContext = studentsList.ToList(); 

     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 
    } 
} 

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

<DataGrid AutoGenerateColumns="False" Height="211" Name="dgStudents" Width="Auto" Margin="39,0,-33,-142" VerticalAlignment="Bottom" ItemsSource="{Binding}"> 
    <DataGrid.Columns> 
    <DataGridTextColumn Header="birthDate" Width="175" Binding="{BindingfirstName}" /> 
    </DataGrid.Columns> 
    </DataGrid> 

Это объект студент

public class student 
    { 

    public int ID; 
    public string firstName; 
    public string lastName; 
    public string studentID; 
    public string homePhone; 
    public string cellPhone; 
    public string parentsPhone; 
    public string parentsName; 
    public string adress; 
    public bool isPicFormExists; 
    public string medProblems; 
    public bool isParentsConfExists; 
    public List<Class> classesList; 
    public DateTime birthDate; 
    public List<payments> payments; 
    public double accountBalance; 


    public student() 
    { 
     try 
     { 

     } 
     catch (Exception ex) 
     { 
      //TO-DO 
     } 
    } 

} 
+0

у вас есть свойства или переменные в классе студентов? – Nitin

+0

Что делает этот оператор «studentsList = stdManager.Select();»? – Naren

+0

Спасибо за ваши ответы. Андрей уже решил это. Как предложил nit, я изменил его на свойства ... –

ответ

4

Вам необходимо определить общедоступные свойства в вашем классе student. Вы не можете привязываться к полям.

WPF поддерживает привязку к свойствам объекта, а не к полям.

Смотрите этот вопрос для получения дополнительной информации: Has it ever been possible to bind to a field in WPF?

+0

Dude !! так просто ... Спасибо !!! –

+0

Рад помочь вам –

Смежные вопросы