Avatar billede dr_chaos Nybegynder
01. november 2012 - 22:12 Der er 1 løsning

Problem med at opdatere celleværdi i datagridview

Hej
Jeg 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.
Avatar billede dr_chaos Nybegynder
02. november 2012 - 05:41 #1
Fandt selv ud af det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester