Tema: Re: DataGridView .net 2.00 - Slow Bound DataRow changes....
Autorius: Jornada Del Muerto
Data: 2011-01-05 16:20:44
    Zodziu kaip ir ledai pajudejo, algoritmas issigrynino ant tiek, kad visa duomenu validacija keiciant ar pridedant DataRow ar jo reiksmes paliko DataTable lygyje per RowChanged event'a, jei randama kazkas negero tai inicializuojamas su visu klaidu sarasu DataRow::ErrorText, taip pat validacija priskyrineja reikalingus zodynu ID, ta prasme keicia informacija esancia DataRow.

    Va cia kaip tik susiduriau su beda, kadangi ten importas ir eina kaip vienai operatoriaus apdirbimo sesijai gan daug duomenu 5000+ per karta, tai cia gal del to, bet kai validacija pakeicia kokia nors datagrid priklausancio DataRow reiksme viskas sustoja/pakimba keliom sekundem, o atliekant validacija keiciama daznai ne vienas DataRow laukas tai pakibimas virsija kartais ir 5 sek, o useriui jei ka nors paredaguoja irgi vyksta taspats, nes suveikia validavimas ir laukti paredagavus tenka ~5 sec.


    Vat panasi stabdymo beda buvo kraunant tuos visus 5000+ datarow'u, bet ja issprendziau taip:

    dataGidTable.BeginLoad();

    foreach(DataRow sourceRow in source.Rows){

        DataRow destRow =  dataGridTable.NewRow();
        ApplyData(destRow, sourceRow);
        dataGidTable.Rows.Add(destRow);        
    }

    dataGidTable.EndLoad();

    dataGridTable pribindinta design mode dataseto table, ji visada prie DataGridView'o, begin ir end load labai sugreitina, bet dabar kazkaip reiketu greitint ir DataRow pakeitimus, validacija ir validacijos metu priskiriamu ID darba, gal ir kazkas panasaus yra ? 

    Tiesa bandziau daryt row.BeginEdit(); ir row.EndEdit(); po to bet nepadejo, speju datagrid'as kazka veikia kad po bet kurio reiksmes keitimo viskas stipriai stabdoma.