2010-01-18 2 views
2

У меня есть DataGridView, который получает назначенный источник данных.
Я хотел бы создать свои собственные столбцы, если это (например) DateTime.
Я нашел пример того, как вы можете создать DateTimePicker (here) (и, надеюсь, также NumericUpDown), чтобы добавить к datagrid, но я не знаю, как я могу определить этот столбец для моего datagrid. Любая помощь будет принята с благодарностью!Добавить собственные столбцы в привязке DataGridview

ответ

1

Проверить последний метод в вашем примере:

private void Form1_Load(object sender, EventArgs e) 
{ 
    CalendarColumn col = new CalendarColumn(); 
    this.dataGridView1.Columns.Add(col); 
    this.dataGridView1.RowCount = 5; 
    foreach (DataGridViewRow row in this.dataGridView1.Rows) 
    { 
     row.Cells[0].Value = DateTime.Now; 
    } 
} 

Это где столбцы добавляются в DataGridView. Вы можете использовать тот же способ, чтобы добавить любой объект столбца , полученный отDataGridViewColumn в вашу сетку.

[Редактировать]

Перед обязательным, установите DataGridView.AutoGenerateColumns свойство false и добавить свои собственные столбцы.

Вы также должны установить DataPropertyName свойства для каждого столбца, чтобы определить, какое свойство будет привязано к какой колонка:

CalendarColumn col = new CalendarColumn(); 
col.DataPropertyName = "Date"; // if your class has a "Date" property 
this.dataGridView1.Columns.Add(col); 
+0

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

+0

Столбцы не обязательно должны быть автогенерированы, вы можете просто установить 'AutoGenerateColumns' в false ... –

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