Jump to content

Mana problēma ar c# DataGridView


camel
 Share

Recommended Posts

Nesen secināju, ka mana programmiņa Klons.Net pašlaik ir drūmais blusu lācis. Vairākas dienas mēģināju tikt vaļā no dažām konkrētām kļūdām, bet nesanāk, kaut nošaujies.

 

Tad nu saliku mazu proto projektiņu, kļūdas demonstrēšanai (pielikumā) un prasīšu te padomu. Kas zin, varbūt te bez pirmklasniekiem un pensionāriem, būs kāds, kas līdzēs ar padomu, vai zinās kur mani tālāk pasūtīt.

 

Kā problēma izpaužas:

Palaižot programmu (pielikumā), tur būs divas tabulas - master/detail. Katrā rindā ir lauks "time", kur būs pēdējā labojuma laiks. Master tabulas time iekļauj arī detail tabulas labojuma laiku.

Ievadot otrās tabulas laukā "text" tukšu vērtību (izdzēšot tekstu) un ieklikšķinot otrās tabulas trešajā (tukšajā) rindā, dabūjam Unhandled exception, no kuras vajag korekti tikt vaļā.

 

DataGridShit.zip

Link to comment
Share on other sites

vieglākais veids būtu darīt tā, ka pie action @ datagridview, pie DataError pieliec funkciju, un funkcijā uzliec messagebox.show vai arī nerādi vispār neko. Tas no handlos visus exceptionus iekš datagridview, un errors vairs nebūs.

Link to comment
Share on other sites

 

Nezinu vai smukakais/pareizākais risinājums, bet es to Cellu aizpildītu iekš RowValidated, pēc tam kad citi dati jau validēti Rowā: 

 

        private void table2DataGridView_RowValidated(object sender, DataGridViewCellEventArgs e)

        {

            table2DataGridView.Rows[e.RowIndex].Cells[5].Value  = DateTime.Now; 

        }
Link to comment
Share on other sites

Labošanas laiki un citas līdzvērtīgas lietas ir jāpilda SQL servera galā ar trigeriem! 

 

Konekcijai pie DB jāizmanto kāda klase (Framework - nezinu kā delphi komponentu analogu sauc .net vidē...) kurai var norādīt select, insert, update,delete un refresh SQL. Pēdējais nolasa tikai vienu ierakstu (select * from table where id = :id) lai aplikācija nolasa vērības, ko serveris ir izrēķinājis. 

 

Nopietnai DB aplikācijai ir jāsāk ar to ka jāatrod normāla klase datu attēlošanai un normāla klase piekļuvei serverim. 

Labots - ronalds_
Link to comment
Share on other sites

Mezavecis

Parasti šāda kļūda ir tad, ja kļūda notiek citā thread. Skaties, vai pa vidu nenotiek paralēlie procesi iekš UI, bet tu meklē blusas tikai SQL. 

 

Unhandled exception, no kuras vajag korekti tikt vaļā.
Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...