如何将对象列表绑定到数据网格
本文关键字:数据 数据网 网格 绑定 列表 对象 | 更新日期: 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 中的字段?