2012-02-06 3 views
1

Я использую WPF Data-grid с автогенерированными столбцами. Я назначаю таблицу данных одним столбцом, но не строками как 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. В зависимости от того, чего вы пытаетесь достичь, вы можете сначала добавить пустую строку в свои данные.

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

Спасибо за подробную информацию :) :) –

+0

Если бы этот вопрос тоже. Очень плохо, что он не отображает заголовки. Мне нужно иметь возможность отображать заголовок и позволять пользователю вводить данные. – VenerableAgents

Смежные вопросы