如何将对象列表绑定到数据网格

本文关键字:数据 数据网 网格 绑定 列表 对象 | 更新日期: 2023-09-27 18:30:27

首先,我已经阅读了所有更微笑的问题并尝试了他们的答案。似乎没有什么对我有用。

我创建了一个名为 student 的类。然后,我从数据库中加载了一个学生列表。

现在,我希望在数据网格中显示此列表。我得到的只是一个空桌子。:(

似乎有什么问题?(我尝试了数据上下文而不是 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
        }
    }
}

如何将对象列表绑定到数据网格

您需要

student类中定义公共属性。不能绑定到字段。

WPF 支持绑定到对象的属性,而不是字段。

有关详细信息,请参阅此问题:是否可以绑定到 WPF 中的字段?