【问题标题】:Datagrid with column headers but no rows具有列标题但没有行的数据网格
【发布时间】:2012-02-06 10:17:28
【问题描述】:

我正在使用带有自动生成列的 WPF 数据网格。我正在为数据表分配一列但没有行作为项目源。

public DataTable GetInitData()
    {
        empDS = new DataSet();
        empTbl = new DataTable();
        empDS.Tables.Add(empTbl);
        dc = new DataColumn("Test");
        empDS.Tables[0].Columns.Add(dc);
        empDS.AcceptChanges();
        return empDS.Tables[0];
    }

我在构造函数中调用了上面的方法。

 public MainWindow()
    {
        this.InitializeComponent();
        this.grdEmp.ItemsSource = this.GetInitData().DefaultView;
    }

截图:

现在,当我按 F5 并运行代码时……数据网格不显示任何列。请指导我,为什么它没有显示任何列。如果您需要任何其他信息,请告诉我。

问候, 普里扬克

【问题讨论】:

    标签: c# wpf datagrid


    【解决方案1】:

    如果您向表中添加一行,您将看到生成的列。因此,我只能建议这是 WPF DataGrid 中的一个限制(错误?)。根据您要实现的目标,您可能希望先向数据添加一个空行。

    public DataTable GetInitData()
    {
        var empDS = new DataSet();
        var empTbl = new DataTable();
        empDS.Tables.Add(empTbl);
        var dc = new DataColumn("Test");
        empDS.Tables[0].Columns.Add(dc);
        var row = empDS.Tables[0].NewRow();
        //row[0] = "foo";
        empDS.Tables[0].Rows.Add(row);
        empDS.AcceptChanges();
        return empDS.Tables[0];
    }
    

    【讨论】:

    • 也有这个问题。很差,它不显示标题。我需要能够显示标题并让用户输入数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多