You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

绑定DataTable至WPF DataGrid时无行列显示问题求助

WPF DataGrid无法显示SQL Server表内容的问题

我尝试在WPF的DataGrid中显示SQL Server表的内容,已简化至最基础版本且保留默认设置,但仍无法看到任何列标题和数据行。

后台代码

public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
    }

    private void Window_Loaded(object sender, RoutedEventArgs e)
    {
        Test1DataSet test1DataSet = new Test1DataSet();
        Test1DataSetTableAdapters.AdminUserTableAdapter tableAdapter =
            new Test1DataSetTableAdapters.AdminUserTableAdapter();
        tableAdapter.Fill(test1DataSet.AdminUser);

       Test1DataSet.AdminUserDataTable dataTable = tableAdapter.GetData();
        Console.WriteLine(dataTable.Count);

        dataGrid.DataContext = dataTable.DefaultView;
    }
}

XAML代码

<Grid Name="Grid1">
    <DataGrid Margin="25" Name="dataGrid">
      <!--  <DataGrid.Columns>
            <DataGridTextColumn Header="id" Binding="{Binding id}" />
            <DataGridTextColumn Header="Name" Binding="{Binding LastName}" />
        </DataGrid.Columns> -->
    </DataGrid>
</Grid>

SQL Server表结构

CREATE TABLE [dbo].[AdminUser] (
[id]             INT            IDENTITY (1, 1) NOT NULL,
[EmployeeNumber] NVARCHAR (30)  NOT NULL,
[FirstName]      NVARCHAR (100) NULL,
[LastName]       NVARCHAR (100) NULL,
[isSA]           BIT            NOT NULL,
[isDA]           BIT            NOT NULL
);

解决方法

核心问题是未给DataGrid设置ItemsSource,仅设置DataContext无法让控件绑定数据,以下两种方案任选其一:

方案1:后台直接设置ItemsSource

将后台代码中的dataGrid.DataContext = dataTable.DefaultView;替换为:

dataGrid.ItemsSource = dataTable.DefaultView;

方案2:XAML中绑定ItemsSource

如果想保留DataContext的设置,在XAML的DataGrid标签中添加绑定:

<DataGrid Margin="25" Name="dataGrid" ItemsSource="{Binding}">

额外检查项:

  • 确认Console.WriteLine(dataTable.Count)输出大于0,确保已从数据库获取到有效数据
  • 若后续需要自定义列,取消注释XAML中的DataGrid.Columns区块即可,注意绑定的属性名需与DataTable列名完全匹配

内容的提问来源于stack exchange,提问作者user2871239

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:27:47