MVP - DataGridView

MVP - DataGridView
CJ
  • Rejestracja:prawie 8 lat
  • Ostatnio:6 miesięcy
  • Postów:22
0

Witam,

Otóż mam pytanie dotyczące MVP w WinForms. W warstwie widoku posiadam DataGridView z kilkoma kolumnami ale nie chcę wszystkich wyświetlać użytkownikom, bo po prostu nie są im potrzebne do wglądu ale potrzebne do obliczania wartości w innych kolumach (kolumny generują się automatycznie). Czy kod odpowiedzialny za ukrywanie tych kolumn powinienem umieścić w Widoku czy przekazać go do Prezentera ?

JP
  • Rejestracja:ponad 7 lat
  • Ostatnio:5 miesięcy
  • Postów:1065
0

Tak. Nie. Nie wiem.
Ja bym się zastanowił dlaczego jakies dane dla grida są obliczane w gridzie a nie w modelu czy jeszcze wcześniej.

CJ
  • Rejestracja:prawie 8 lat
  • Ostatnio:6 miesięcy
  • Postów:22
0

Chodzi np. o to że w gridzie wpisujesz cenę produktu i po edycji tej ceny obliczana jest marża i wyświetlana w komórce obok i nie chce od razu ładować tego do bazy. A za obliczanie marzy odpowiada metoda statyczna i wywoływana jest po zderzeniu zakończenia edycji komórki. Czyli ta metoda również powinna trafić do modelu ?

T9
Po pełniliśmy coś takiego w pracy, nie używaj metod statycznych, bo się od nich nie uwolnisz :)
CJ
To jeszcze pozostałości po code behind w tej aplikacji :D Apka przepisywana jest na MVP I trafiłem właśnie na taki problem :D Dzięki wszystkim zainteresowanym. Wszystko już poprawione - gra i buczy ! :)
JP
  • Rejestracja:ponad 7 lat
  • Ostatnio:5 miesięcy
  • Postów:1065
1

Tak. Do modelu. Zmiana metody liczenia nie spowoduje zmiany w widoku (grid czy coś innego). Jeśli to są dane wyliczeniowe to może być property tylko z getterem. Grid powinien sobie wyświetlić po przeliczeniu.

CJ
  • Rejestracja:prawie 8 lat
  • Ostatnio:6 miesięcy
  • Postów:22
0

Super :) A te kolumny w której warstwie byś ukrył ?

Edit: W sumie jeżeli obliczenia przerzuce do modelu nie będę musiał wyświetlić dodatkowych kolumn a tym samym ich ukrywać.
Dzięki za pomoc !

edytowany 1x, ostatnio: cjancik

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.