2012-02-06 37 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