Nastaveni v datagridView   zodpovězená otázka

C#

Zdravim vsechny, mam dotaz ohledne nastaveni na upravovanou vetu v datagridview. Jde o to ze pro editaci zaznamu z gridu pouzivam jiny formular. Pri jeho ulozeni se mi znovu nactou data datagridview z SQL tvz.(refresch). Muj dotaz smeruje k tomu jak nejlepe se nastavit po refresch na tu samou vetu, kterou jsem pred tim upravoval.

Dekuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Zatim jsem to vyresil takto pokud mate nekdo jine a lepsi reseni rad se necemu novemu priucim

int irows = 0;
if(this.uchmDataGirdView_workplan.CurrentRow != null)
irows = this.uchmDataGirdView_workplan.CurrentRow.Index;
                this.uchmDataGirdView_workplan.DataSource = this.m_RotTabAccess.GridView_ReadTable(UniversalDataAccess.CConstant.ROWSTATUS_ALL, sel_Material);
                
if (irows > 0)
{                    this.uchmDataGirdView_workplan.Rows[0].Selected = false;
                    this.uchmDataGirdView_workplan.Rows[irows].Selected = true;
}

            }

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Dělám to podobně a funguje to celkem dobře. Ovšem pozor na to, kdyby se data změnila, to se pak vybere jiný řádek než původně. Pokud data obsahují nějaký primární klíč, možná by bylo dobré nevybírat podle indexu řádku, ale podle toho primárního klíče (či jiné jedinečbné hodnoty).

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano na to jsem taky prisel, delam to jiz podle PK.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Mam jeste jeden problem a to v pripade ze se posunu v gridu na dalsi stranku a tam edituji zaznam po ulozeni se mi znovu nactou data do datagridview. Veta kterou jsem upravoval zustane spravne oznacena, bohuzel datagridview se mi postavi na prvni stranku takze tuto oznacenou vetu nevidim. Nevite nekdo jaky zpusobem se da presunout v datagridview na oznacenou vetu. Dekuji

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Uz to mam pokud to nekdo bude potrebovat:

                        this.uchmDataGirdView1.FirstDisplayedScrollingRowIndex = this.uchmDataGirdView1.Rows[iRowsIndex].Index;
                        this.uchmDataGirdView1.Refresh();
                        this.uchmDataGirdView1.Rows[iRowsIndex].Selected = true;

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback