У меня странная проблема с моим кодом, XtraGridView не сохраняет последнюю строку, это мой код для добавления соединений в сетку данных
void CreateDataTable()
{
dt.Columns.Add("Le Nom");
dt.Columns.Add("Quantité");
dt.Columns.Add("Longueur");
dt.Columns.Add("Largeur");
dt.Columns.Add("Poids Total");
dt.Columns.Add("Projet");
dt.Columns.Add("Localisation");
dt.Columns.Add("Fournisseur");
dt.Columns.Add("Date");
dt.Columns.Add("IDNom");
dt.Columns.Add("IDProjet");
dt.Columns.Add("IDLocalisation");
dt.Columns.Add("IDFournisseur");
gridControl1.DataSource = dt;
}
и это мой код для добавления данных в gridview
private void btnSave_Click(object sender, EventArgs e)
{
DataRow r = dt.NewRow();
r[0] = cmbName.Text;
r[1] = txtQte.Text;
r[2] = txtLength.Text;
r[3] = txtWidth.Text;
r[4] = txtWeight.Text;
r[5] = cmbProject.Text;
r[6] = cmbLocation.Text;
r[7] = cmbProvider.Text;
r[8] = txtDate.Text;
r[9] = cmbName.SelectedValue;
r[10] = cmbProject.SelectedValue;
r[11] = cmbLocation.SelectedValue;
r[12] = cmbProvider.SelectedValue;
dt.Rows.Add(r);
}
и это мой код для сохранения всех данных сетки в моей базе данных
private void btnFinish_Click(object sender, EventArgs e)
{
for (int i=0;i<gridView1.RowCount-1;i++)
{
prd.Add_ItemQte(Convert.ToInt32(gridView1.GetRowCellValue(i, "IDNom")), Convert.ToInt32(gridView1.GetRowCellValue(i, "IDFournisseur")),
Convert.ToInt32(gridView1.GetRowCellValue(i, "Quantité")), Convert.ToDateTime(gridView1.GetRowCellValue(i, "Date")),
Convert.ToInt32(gridView1.GetRowCellValue(i, "Longueur")), Convert.ToInt32(gridView1.GetRowCellValue(i, "Largeur")),
Convert.ToDouble(gridView1.GetRowCellValue(i, "Poids Total")), Convert.ToInt32(gridView1.GetRowCellValue(i, "IDLocalisation")), Convert.ToInt32(gridView1.GetRowCellValue(i, "IDProjet")));
}
MessageBox.Show("Ajouté avec succès", "Ajustements d'inventaire", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Я пытаюсь добавить этот код перед сохранением данных в моей базе данных, но у меня не получилось
if (gridView1.IsEditing)
gridView1.CloseEditor();
if (gridView1.FocusedRowModified)
gridView1.UpdateCurrentRow();
если сетка данных имеет только одну строку (они ничего не сохраняют)
если в сетке данных более одной строки (сохраните все строки, кроме последней)
когда я запускаю код, я не получаю никакой ошибки.
Кто-нибудь может мне помочь или показать, где я ошибся, заранее спасибо.