Problem med at opdatere celleværdi i datagridview
HejJeg har et Datagridview(DG) med en række kolonner.
Når jeg viser DG så tilføjer jeg en tom række manuelt til en binding source som er bundet til DG.
I den første kolonne indtaster jeg et nummer, når jeg forlader den celle så bruger jeg cell_leave eventet til at hent nogle database oplysninger som jeg viser i den næste kolonne.
Problemet er bare at dem opdateret værdi ikke vises, den første gang jeg forlader cellen.
Hvis jeg går tilbage til den første celle og indtaster et nyt nummer så opdateres værdien i celle 2 korrekt.
her er koden jeg bruger til det. Den bærer præg af mange forsøg:
void dgArticleLines_CellLeave(object sender, DataGridViewCellEventArgs e)
{
dgArticleLines.BeginEdit(true);
OrderArticle oa = bindingSourceOrderArticles.Current as OrderArticle;
if (oa != null)
{
if (e.ColumnIndex == 0 && !string.IsNullOrEmpty(oa.ArticleNumber))
{
var article = _articleModule.MonitorArticleStorage.Get(oa.ArticleNumber);
if (article != null)
{
oa.Description = article.Description;
dgArticleLines.Rows[e.RowIndex].Cells[1].Value = article.Description;
dgArticleLines.CommitEdit(DataGridViewDataErrorContexts.Commit);
dgArticleLines.RefreshEdit();
}
}
}
dgArticleLines.CommitEdit(DataGridViewDataErrorContexts.Commit);
dgArticleLines.EndEdit(DataGridViewDataErrorContexts.Commit);
dgArticleLines.UpdateCellValue(e.ColumnIndex, e.RowIndex);
}
Håber at nogen kan hjælpe mig.