2009-03-26 46 views
6

Kroki dla dzieci toczą się ... Mam formularz z siatką danych powiązaną z tabelą. Mam pewne pola tekstowe na formularzu powiązanym z tabelą [kolumny], więc podczas przewijania siatki pola tekstowe pokazują odpowiednie dane.WinForms C# DataGridView Wymuś odświeżenie

Przechodzę do "Edit Mode" pól tekstowych i zmieniam treść, a następnie wciskam przycisk zapisu. Siatka nie odświeża zmienionego kontekstu, dopóki fizycznie nie kliknę w komórkę, która wymusza wywołanie w tabelach Włączanie i Zmiana kolejności zdarzeń ...

W JAKI SPOSÓB WYMAGAĆ jakiegokolwiek zdarzenia, aby "przepłukać" stół na końcu moja edycja i odświeżenie w datagridview.

Dzięki

Odpowiedz

10

Czy próbowałeś wywoływać metodę Invalidate dataGridView?

this.dataGridView1.Invalidate(); 
+0

My bad. Zdarzenie "Kliknij" na poziomie formularza nigdy nie było uruchamiane bezpośrednio, ponieważ użyłem niestandardowej klasy, która miała domyślne zachowanie metody. Po dostosowaniu go w razie potrzeby działa idealnie ... Jednak wprowadziłem InvalidateROW dla jednego rekordu. Dzięki – DRapp

1

Czy używasz źródła BindingSource? Jeśli tak, wywołaj jego metodę EndEdit w zdarzeniu opuszczania obiektu TextBox.

+0

Bez wpływu. Zarówno siatka (oczywiście), jak i pola tekstowe są powiązane z instancją DataTable, ale wydaje się, że nie mogę "wymusić rzucania tabelami" Przy wymianie "/" Na zmienionym "zdarzeniu, co dzieje się po ponownym kliknięciu w siatkę ręcznie po zapisaniu edytować. – DRapp

Powiązane problemy