我有一个WPF应用程序需要从数据库中检索并显示在数据网格中的客户信息。
一切都在后台工作正常,但是当我将客户添加到ObservableCollection对象时,它正在向我不想要的表中添加一个变量。
这是我使用它的地方:
private void button_DisplayInfo(object sender, RoutedEventArgs e)
{
// A collection of customer information
ObservableCollection<Customer> customerCollection = new ObservableCollection<Customer>();
// Cycle through each customer in the customer list inside customerManager
foreach (Customer eachCustomer in customerManager.CustomerList)
{
customerCollection.Add(new Customer
{
Name = eachCustomer.Name,
CustomerID = eachCustomer.CustomerID,
DateJoined = eachCustomer.DateJoined
});
}
dataGrid_Main.ItemsSource = customerCollection;
}
问题在于,在数据网格中,我还得到一个列,它是类中的一个公共bool属性,我根本没有指定要读取它,并且它放了一个小的复选框而不是它的值在网格中。有什么办法可以防止这种情况发生,这样我才能从Customer对象中读取(或至少输出)这三个值,而不是属性?
谢谢!
P.S。 bool属性在我的构造函数中设置,如果这意味着与此有关。
答案 0 :(得分:1)
不要使用DataGrid自动生成列(将AutoGenerateColumns
设置为false),并手动指定列。这将使您可以完全控制显示哪些属性以及它们的显示方式。
答案 1 :(得分:1)
在XAML中,使用属性AutoGenerateColumns =“False”并列出DataGrid.Columns中的列,并详细说明它们绑定的内容。