Здесь я приведу пример программного добавления ячеек, а соответственно столбцов и строк.
Это может понадобится тогда, когда ну очень надо заполнить DataGridView и при этом совсем не нужен DataSet.
В моём случае, чаще всего это требуется когда необходимо заполнить какие либо параметры, которые могут отличаться для одного и того же объекта, скажем их просто может быть разное количество, вдобавок они могут быть разного типа, и т.п.
Итак, пример:
DataGridViewColumn col = new DataGridViewColumn();
col.HeaderText = "Параметр";
col.ReadOnly = true;
DataGridViewColumn col1 = new DataGridViewColumn();
col1.HeaderText = "Значение";
col1.ReadOnly = false;
dataGridView1.Columns.Add(col);
dataGridView1.Columns.Add(col1);
DataGridViewCell cel1 = new DataGridViewTextBoxCell();
DataGridViewCell cel2 = new DataGridViewTextBoxCell();
cel1.Style.BackColor = Color.LightGray;
DataGridViewRow row = new DataGridViewRow();
cel1.Value = "Штуки";
cel2.Value = "";
row.Cells.AddRange(cel1, cel2);
dataGridView1.Rows.Add(row);
cel1 = new DataGridViewTextBoxCell();
cel2 = new DataGridViewTextBoxCell();
cel1.Style.BackColor = Color.LightGray;
row = new DataGridViewRow();
cel1.Value = "Коэф.";
cel2.Value = "";
row.Cells.AddRange(cel1, cel2);
dataGridView1.Rows.Add(row);
cel1 = new DataGridViewTextBoxCell();
cel2 = new DataGridViewTextBoxCell();
cel1.Style.BackColor = Color.LightGray;
row = new DataGridViewRow();
cel1.Value = "Вес";
cel2.Value = "";
row.Cells.AddRange(cel1, cel2);
dataGridView1.Rows.Add(row);
cel1 = new DataGridViewTextBoxCell();
cel2 = new DataGridViewTextBoxCell();
cel1.Style.BackColor = Color.LightGray;
row = new DataGridViewRow();
cel1.Value = "Штрих-Код";
cel2.Value = "";
row.Cells.AddRange(cel1, cel2);
dataGridView1.Rows.Add(row);
Вот, как это выглядит в результате:
Комментарии (8)
RSS свернуть / развернутьLex9sysT2
Lex9sysT2
Lex9sysT2
Roman
Lex9sysT2
Column cannot be added because its CellType property is null.
Код:
DataGridViewColumn col1 = new DataGridViewColumn();
col1.HeaderText = «Наименование»;
col1.Width = 300;
dataGridView1.Columns.Add(col1);
djnik
Чтобы правильно работало надо задавать шаблон ячейки у столбца вот так:
Вот так у меня всё заработало.
Roman
можно также задавать шаблон столбца (а не отдельных ячеек), например:
DataGridViewTextBoxColumn col1 = new DataGridViewTextBoxColumn();
djnik
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.