Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

Zbędne puste wiersze w DataGridView



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio: C#, VB, VC++, …
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Szukający pomocy
Gość





PostWysłany: Czw Sie 09, 2018 2:37 pm  OP    Temat postu: Zbędne puste wiersze w DataGridView Odpowiedz z cytatem Pisownia

Witam
Tworze program w którym wykorzystuję kontrolkę DataGridView. W jednym oknie mam dwie takie kontrolki, a każda z nich przechowuje inne dane. By dodać nowy wiersz trzeba otworzyć nowe okno tam wpisać dane. Po weryfikacji zapisane są one w bazie danych. Zamykając nowe okno odświeżam kontrolkę, do której miał być dodany wiersz. I w tym momencie mam problem, ponieważ w drugiej kontrolce, której operacja ta nie dotyczyła pojawiają się dwa puste wiersze.
1) Skąd się one biorą?
2) Jak się ich pozbyć?

P.S. W kontrolkach wyłączona jest opcja dodawania, usuwania, edytowania wierszy.
Powrót do góry
PlayRoll



Dołączył: 31 Paź 2018
Posty: 3

PostWysłany: Sro Paź 31, 2018 11:09 pm      Temat postu: Odpowiedz z cytatem Pisownia

Bez kodu ciężko coś stwierdzić na "100%" w jakiś sposób kontrolki są powiązane skoro akcja na jednej wywołuje reakcję na drugiej ;) możliwe, że przez wspólny kontener danych z jakiego kontrolki korzystają lub poprzez źle obsługiwane zdarzenia przy okienku wprowadzana danych. Bywa też, że słowo kluczowe this miesza można by długo wymieniać ;)
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość
samolot



Dołączył: 26 Sty 2006
Posty: 8298
Skąd: Toruń

PostWysłany: Czw Lis 01, 2018 9:45 am      Temat postu: Odpowiedz z cytatem Pisownia

0. Potwierdź, jakiego języka dotyczy twoje pytanie. Moja odpowiedz dotyczy VB.NET

Potwierdzam to co napisał PlayRoll. Proponuję takie kroki:
1. W kodzie zdarzenia CellValueChanged każdej z kontrolek DataGridView ustaw punkt Brakpiont na jego wierszu nagłówkowym.

2. Uruchom program. Gdy nastąpi po raz pierwszy jedno z tych zdarzeń, to program się zatrzyma na tym zaznaczonym punkcie. W tym momencie to zdarzenie dopiero ma nastąpić.

3. Dalej wykonuj program krokowo, to znaczy naciskaj po kolei klawisz F8. To powoduje, że program za każdym kilknięciem wykona tylko instrukcje w "zatrzymanym wierszu" i zatrzyma się w następnym wierszu.
Nie musi to być dosłownie następny wiersz w oknie kodu, lecz taki do którego program przejdzie zgodnie z tym co właśnie wykonał w tym zatrzymanym wierszu.

4. Tak po kolej klikając F8 przekonasz się co i gdzie dokładnie program robi. Zwykle po takim krokowym wykonaniu trafiamy na miejsce, które jest odpowiedzialne za niepożądane dla nas działanie kodu. I wtedy spróbuj tak zmodyfikować kod, który to wyeliminuje.

Może też być tak, że niepożądane działanie następuje już gdzieś wcześniej w kodzie po uruchomieniu programu, czyli przed pierwszym zdarzeniem CellValueChanged kontrolki DataGridView. Wtedy punkt przerwania ustaw w pierwszym wierszu zdarzenia Form_Load formatki.

_________________
Nie zadawaj bezcelowych pytań / Windows 8.1 / Windows 10 / VB2008 / VB 2010 / VB 2012 / Pisz poprawnie
Powrót do góry
Zobacz profil autora Wyślij prywatną wiadomość Wyślij email
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Visual Studio: C#, VB, VC++, … Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.23468 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |