c# - WPF填充DataGrid
问题描述
我有一个问题。我正在尝试用数据填充数据网格。
<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Margin="54,74,0,0" VerticalAlignment="Top" Width="347" Height="206" />
我确实从数据库中加载数据并将它们添加到网格中?
List<Employee> employees= Modules.OleDatabase.loadEmployeesInside();
foreach (var empl in employees)
{
Debug.WriteLine(empl.Person_number);
dataGrid.Items.Add(empl);
}
尽管如此,所有数据都明确加载正确。调试中的输出:
我确实尝试过使用
ObservableCollection<Employee>
而不是列表,但输出相同。有人能帮助我吗?
我的员工班
public class Employee
{
public int Person_number;
public string Status, Name, Surname;
}
我现在绑定了
<DataGrid x:Name="dataGrid" HorizontalAlignment="Left" Margin="54,74,0,0" VerticalAlignment="Top" Width="347" Height="206">
<DataGrid.Columns>
<DataGridTextColumn Width="*" Header="Person_number" Binding="{Binding Person_number}" />
<DataGridTextColumn Width="*" Header="Status" Binding="{Binding Status}" />
<DataGridTextColumn Width="*" Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Width="*" Header="Surname" Binding="{Binding Surname}" />
</DataGrid.Columns>
</DataGrid>
解决方案
只需将ItemsSource
您的属性设置DataGrid
为项目列表即可。
以下对我来说很好......
数据项.cs
public class DataItem
{
public DataItem(int id, string description)
{
Id = id;
Description = description;
}
public int Id { get; }
public string Description { get; }
}
主窗口.xaml
<DataGrid Margin="16"
x:Name="TheDataGrid" />
主窗口.xaml.cs
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
DataItems = new ObservableCollection<DataItem>();
TheDataGrid.ItemsSource = DataItems;
LoadDataItems();
}
public ObservableCollection<DataItem> DataItems { get; }
private void LoadDataItems()
{
DataItems.Add(new DataItem(1,"One"));
DataItems.Add(new DataItem(2, "Two"));
DataItems.Add(new DataItem(3, "Three"));
DataItems.Add(new DataItem(4, "Four"));
DataItems.Add(new DataItem(5, "Five"));
}
}
推荐阅读
- smtp - 在 phpmailer 中使用 $_ENV 作为凭据时出现 smpt 错误
- python - 熊猫数据框重置多索引的索引计数
- sql - 根据条件计算行数
- javascript - 如何使用javascript在计算器中添加小数?
- javascript - 在 React 组件之外使用 NextRouter
- javascript - 尝试使用 mongodb 和 nodejs 登录用户
- html - Bootstrap - 在导航栏中定位
- r - 如何修复R中for循环中的错误“提供的元素多于替换的元素”?
- python-3.x - pandas._libs.hashtable.PyObjectHashTable.get_item KeyError:
- powershell - 用文件名替换特定行号的文本