Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Złożona edycja w widoku siatki w C#

Jednym z podejść jest umożliwienie aktualizacji w sposób bardziej ajaxy, jak omawia Aristos. Jest to zwykle uważane za bardziej przyjazne dla użytkownika podejście i z pewnością zapewnia przyjemniejsze wrażenia użytkownika, ale wymaga znajomości jQuery i JavaScript, a interakcje między klientem a serwerem są z Twojej perspektywy nieco bardziej złożone.

Jeśli chcesz nadal korzystać z paradygmatu kontroli sieci Web, rozważ utworzenie pól TemplateFields „Przybywa o” i „Pozostawia o”. W ItemTemplate można nadal wyświetlać tekst, który łączysz w bazie danych, ale umieścisz GridView w EditItemTemplate. Ten GridView może być powiązany z kontrolką źródła danych (również w EditItemTemplate) i skonfigurowany do obsługi edycji. Jeśli programowo wiążesz dane (tzn. nie) przy użyciu kontrolki źródła danych), musisz powiązać dane z podrzędnym GridView, gdy wiersz nadrzędny stanie się edytowalny. Można to zrobić deklaratywnie za pomocą znaczników w następujący sposób:

<asp:TemplateField ...>
    <EditItemTemplate>
        <asp:GridView runat="server" id="gvChild" DataSource='<%# SomeFunction() %>' ...>
           ...
        </asp:GridView>
    </EditItemTemplate>
</asp:TemplateField>

Tutaj SomeFunction byłaby funkcją w twojej klasie związanej z kodem (zazwyczaj), która zwraca dane do powiązania z siatką.

Alternatywnie można powiązać dane z podrzędnym GridView programowo za pomocą RowDataBound nadrzędnego GridView obsługa zdarzeń. Mianowicie, możesz sprawdzić, czy masz do czynienia z edytowanym wierszem (to znaczy, czy e.Row.RowIndex = ParentGridViewID.EditIndex ). Jeśli tak, możesz programowo odwołać się do podrzędnego GridView za pomocą e.Row.FindControl("ChildGridViewID") a następnie ustaw jego DataSource i wywołaj jej DataBind metoda.

Gdy użytkownik kliknie przycisk Edytuj dla siatki nadrzędnej, komórki „Przyjazd do” i „Wyjdź o” będą wyświetlane jako siatka z własnymi przyciskami Edytuj do modyfikowania poszczególnych czasów. Alternatywnie możesz umieścić edytowalny widok GridView podrzędny w ItemTemplate, jeśli chcesz, aby użytkownicy mogli edytować czasy „Przyjazd o” i „Wyjście o” bez wymagania, aby użytkownik najpierw wybrał edycję rekordu nadrzędnego.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz ciągłe zakresy z tabeli

  2. Wyświetl listę wszystkich kolumn dopuszczających wartość null w bazie danych programu SQL Server

  3. Usuwanie i odtwarzanie ograniczeń w SQL Server

  4. PIVOT dynamicznie, Zwrócone wyniki z JOIN dwóch tabel

  5. Znaleźć prawdziwą nazwę kolumny aliasu używanego w widoku?