如何在 WPF 窗口 C# 中显示数据表?



我似乎无法在这里或谷歌上找到明确的解决方案。

我基本上有一个数据表,我根据数据添加了行 根据我的需求,我想将其显示为 wpf 窗口中的表。

有什么想法吗? 提前谢谢。

我试过这个,但我得到了这个异常:">System.NullReferenceException:"对象引用未设置为对象的实例。 ListViewData 为空。

这是方法,在内部,创建数据表:

private void ShowAllPlayersbutton_Click(object sender, RoutedEventArgs e)
{
AllPlayersTable = new DataTable("test");
AllPlayersTable.Columns.Add("Played games",typeof(int));
AllPlayersTable.Columns.Add("Wins", typeof(int));
AllPlayersTable.Columns.Add("Losses", typeof(int));
AllPlayersTable.Columns.Add("Ties", typeof(int));
AllPlayersTable.Columns.Add("Wins precentage",typeof(int));
MsServiceClient proxy = new MsServiceClient(new InstanceContext(Callback));
UserD[] usersArr = proxy.GetAllUsers();
foreach(UserD uD in usersArr)
{
AllPlayersTable.Rows.Add(uD.PlayedGames, uD.Wins, uD.Losts, uD.Ties, uD.VictoryPercent);
}
DisplayUsersWindow displayWindow = new DisplayUsersWindow(AllPlayersTable);
displayWindow.Show();
}

这是窗口的:

public partial class DisplayUsersWindow : Window
{
public DisplayUsersWindow()
{
InitializeComponent();
}
public DataTable Datas { get; set; }
public DisplayUsersWindow(DataTable dataTable)
{
Datas = dataTable;
ListViewData.ItemsSource = Datas.DefaultView;//<<<< exception happens here
}
}

}

发生 NullReferenceException 是因为您没有在采用 DataTable 的构造函数中初始化窗口,这意味着ListViewData未设置为对象。要修复它,只需添加一个调用InitializeComponent()

public DisplayUsersWindow(DataTable dataTable)
{
InitializeComponent();
Datas = dataTable;
ListViewData.ItemsSource = Datas.DefaultView;
}

最新更新