Мне это не удобно. У меня есть dataGridView, привязанный к SQL с помощью набора данных. Весь столбец генерируется набором данных, за исключением одного столбца, который заменяется кодированным, который является полем comboboxColumn. Чтобы избежать создания новых столбцов при редактировании строки, я установил allowUserToAddRows в значение false. Теперь я хотел бы добавить новые пустые строки нажатием кнопки. Я пробовал несколько способов без каких-либо успехов. Обновленный с полным кодомДобавить новую пустую строку в dataGridView, привязанную к DataSet
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
this.affitto_saTableAdapter.Fill(this.affitto_SADataSet.affitto_sa);
DataGridViewComboBoxColumn comboCol1 = new DataGridViewComboBoxColumn();
comboCol1.Name = "Periodo Rif.";
List<DateTime> periods = new List<DateTime>() { DateTime.Now.AddMonths(-2), DateTime.Now.AddMonths(-1), DateTime.Now, DateTime.Now.AddMonths(1), DateTime.Now.AddMonths(2) };
//Dates = Dates.OrderBy(x => x).ToList();
List<string> colSource = periods.Select(x => x.ToString("MMM/yyyy")).ToList();
comboCol1.DataSource = colSource;
dataGridView1.Columns.Add(comboCol1);
comboCol1.DataPropertyName = "Periodo";
dataGridView1.Columns["Periodo Rif."].DisplayIndex = 1;
}
private void button1_Click(object sender, EventArgs e)
{
/* DataTable dt = dataGridView1.DataSource as DataTable;
DataRow row = dt.NewRow();
dt.Rows.Add(row);*/
(dataGridView1.DataSource as DataTable).Rows.Add((dataGridView1.DataSource as DataTable).NewRow());
}
}
Как я могу добавить новую пустую строку в такой DGV?
Этот код должен работать. Не могли бы вы объяснить, что пошло не так? PS: помните, что пустая строка для столбца combobox означает combobox (с -1 как selectedindex, то есть ни один элемент не выбран). – varocarbas
@varocarbas, с приведенным выше кодом, я получаю исключение для исключения ссылок, и я не понимаю, почему. – FeliceM
Я пробовал свой код (добавив правильный источник данных в DataGridView, чего нет в том, что вы опубликовали), и все в порядке. Можете ли вы включить ту часть, где вы установили DataSource? – varocarbas