Edycja rekordu z wygenerowanej tabeli - pobranie obiektu do edycji - jakie właściwe podejście

0

Witam,
Do tej pory nie miałem do czynienia w pisaniem aplikacji webowych, jedynie desktopowe. Chciałem zmigrować prostą aplikację do wersji przeglądarkowej. Wymyśliłem że napiszę ją w czystym javascript w ramach treningu, z wykorzystaniem API w c# oraz bazy MS SQL.
Dotarłem do pewnego momentu, gdzie nie za bardzo wiem jaki wzorzec jest prawidłowy.

Mianowicie mam pewną tabelę sprzedanych produktów wygenerowaną na podstawie listy obiektów, które pobrałem poprzez API.
W jaki sposób najlepiej przejść do "kontekstu" wybranej pozycji w tabeli. Chciałbym osiągnąć coś takiego, że po kliknięciu w jeden wiersz otworzy mi się plansza zasłaniająca widok tabeli i będzie tam edycja tego wiersza. W czystym javascript nie ma czegoś takiego jak "bindowanie" -( jest z tego co czytałem we frameworkach i bibliotekach chyba).
Czy w momencie generowania tabeli powinienem "trzymać" gdzieś całą listę obiektów (produktów) i w layoucie przy danym wierszu zapisać gdzieś id konkretnego rekordu, za pomocą którego potem wyświetlę jego edycję? Po prostu nie wiem jakie jest właściwe podejście do takich akcji. Czy może do wyświetlenia edycji rekordu powinienem wywołać osobne zapytanie API do pobrania wszystkich danych dla tego rekordu?

2

W największym skrócie ...
Jak w każdym rodzaju aplikacji bez znaczenia czy to WEB czy DESKTOP osobno robisz moduły dla:

  • listy produktów z odpowiedniki filtrami i tylko takimi danymi jakie są niezbędne do przeglądania listy ;
  • szczegółów produktu ( formularze edycji / modyfikacji / podglądu ).

Na potrzeby szczegółów powinieneś mieć osobne funkcje API do:

  • tworzenia nowej encji/rekordu
  • pobierania danych encji/rekordu
  • aktualizacji encji/rekordu
  • kasowania encji/rekordu
1

Możesz też ustawić komórkom tabeli:
contenteditable='true'
i pozwolić pisać od razu po całej tabeli.

0

@katakrowa: mam jeszcze takie pytanie. Mam tablicę produktów, która w chwili kliknięcia na jeden wiersz jest "przykrywana" div-em, gdzie jest widok edycji tego rekordu. W miarę to działa, ale zaczęły się problemy z odświeżaniem/czyszczeniem widoku. Mianowice w widoku edycji mam przycisk 'close', 'save', przy których mogę dodać odpowiednie akcje żeby wyczyścić layout po edycji rekordu.
Problem w tym, że na tej samej stronie mam wiele innych przycisków nawigacyjnych, gdzie mogę wrócić do widoku listy produktów (bez zapisywania zmian), np. pasek menu i wtedy teoretycznie cały czas chyba div z rekordem, który edytowałem jest wygenerowany. Jaki jest prawidłowy sposób na zaprojektowanie czegoś takiego.

1

gdzie mogę wrócić do widoku listy produktów (bez zapisywania zmian)
Nie mam zielonego pojęcia jak działa Twoja aplikacja co to za guziki, w czym jest napisana itd... Raczej nie mam szans odpowiedzieć na Twoje pytanie.

1 użytkowników online, w tym zalogowanych: 0, gości: 1