sql >> Databáze >  >> RDS >> Sqlserver

Komplexní úpravy na gridview v C#

Jedním z přístupů je umožnit aktualizace více Ajaxy způsobem, jak popisuje Aristos. To je obvykle považováno za uživatelsky přívětivější přístup a jistě nabídne příjemnější uživatelské prostředí, ale vyžaduje znalost jQuery a JavaScriptu a interakce mezi klientem a serverem jsou z vašeho pohledu trochu složitější.

Pokud chcete i nadále používat paradigma webového ovládání, zvažte vytvoření polí "Arrives At" a "Leaves At" TemplateFields. V ItemTemplate můžete pokračovat v zobrazování textu, který zřetězíte v databázi, ale do EditItemTemplate byste vložili GridView. Tento GridView by mohl být svázán s ovládacím prvkem zdroje dat (také v EditItemTemplate) a nakonfigurován tak, aby podporoval úpravy. Pokud programově vážete data (tj. nejste pomocí ovládacího prvku zdroje dat), pak budete muset svázat data s podřízeným GridView, kdykoli bude nadřazený řádek upravitelný. To lze provést deklarativně pomocí značek takto:

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

Zde SomeFunction by byla funkce ve vaší třídě na pozadí kódu (obvykle), která vrací data k navázání na mřížku.

Alternativně můžete data svázat s podřízeným GridView programově prostřednictvím nadřazeného GridView RowDataBound obsluha události. Konkrétně byste zkontrolovali, zda máte co do činění s upravovaným řádkem (tj. pokud e.Row.RowIndex = ParentGridViewID.EditIndex ). Pokud ano, můžete programově odkazovat na podřízený GridView pomocí e.Row.FindControl("ChildGridViewID") a poté nastavte jeho DataSource vlastnost a zavolejte její DataBind metoda.

Když uživatel klikne na tlačítko Upravit pro nadřazenou mřížku, buňky „Příjezd v“ a „Odejít v“ se zobrazí jako mřížka s vlastními tlačítky Upravit pro úpravu jednotlivých časů. Alternativně můžete do ItemTemplate vložit podřízený upravitelný GridView, pokud byste chtěli umožnit uživatelům upravovat časy „Arrive At“ a „Leave At“, aniž by uživatel musel nejprve zvolit úpravu nadřazeného záznamu.



  1. Spravujte sdružování připojení ve webové aplikaci pro více nájemců pomocí Spring, Hibernate a C3P0

  2. Jak převést prázdná místa na hodnoty null pomocí SQL Server?

  3. Další způsob, jak zlepšit dotaz SQL, aby se zabránilo sjednocení?

  4. Připojení k databázi Perl