2012-02-06 34 views
1

我正在使用WPF数据网格和自动生成的列。我将一列但没有行的数据表分配为Items-source。带有列标题但没有行的Datagrid

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; 
    } 

屏幕截图:

Screen shot of window

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

问候, Priyank

回答

1

如果添加一行到你的表,你会看到生成的列。因此,我只能建议这是WPF DataGrid中的一个限制(bug?)。根据你想要达到的目标,你可能会首先向你的数据添加一个空行。

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]; 
} 
+0

感谢您的详细信息:) :) – 2012-02-07 13:26:54

+0

也有这个问题。非常差,它不显示标题。我需要能够显示标题并让用户输入数据。 – VenerableAgents 2013-08-05 19:50:02