Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Сложно редактиране на мрежов изглед в C#

Един подход е да се позволят актуализациите по по-Ajaxy начин, както обсъжда Аристос. Това обикновено се счита за по-удобен за потребителя подход и със сигурност ще предложи по-добро потребителско изживяване, но изисква познаване на jQuery и JavaScript, а взаимодействията между клиента и сървъра са малко по-сложни от ваша гледна точка.

Ако искате да продължите да използвате парадигмата за уеб контрол, помислете дали да направите полетата „Пристига в“ и „Тръгва в“ TemplateFields. В ItemTemplate можете да продължите да показвате текста, който свързвате в базата данни, но бихте поставили GridView в EditItemTemplate. Този GridView може да бъде обвързан с контрола на източник на данни (също в EditItemTemplate) и конфигуриран да поддържа редактиране. Ако сте програмно обвързващи данни (т.е. вие не с помощта на контрола на източника на данни), тогава ще трябва да обвържете данните към дъщерния GridView всеки път, когато родителският ред стане редактируем. Това може да се направи декларативно, като се използва маркиране по следния начин:

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

Ето, SomeFunction ще бъде функция във вашия код зад клас (обикновено), която връща данните за свързване към мрежата.

Като алтернатива можете да обвържете данните към дъщерния GridView програмно чрез RowDataBound на родителския GridView манипулатор на събития. А именно, ще проверите дали имате работа с реда, който се редактира (т.е. ако e.Row.RowIndex = ParentGridViewID.EditIndex ). Ако е така, бихте могли програмно да посочите дъщерния GridView с помощта на e.Row.FindControl("ChildGridViewID") и след това задайте неговия DataSource свойство и извикайте неговия DataBind метод.

Когато потребител щракне върху бутона Редактиране за родителската мрежа, клетките „Пристигане в“ и „Тръгване в“ ще се покажат като мрежа със собствени бутони Редактиране за промяна на отделните времена. Като алтернатива можете да поставите дъщерния GridView с възможност за редактиране в ItemTemplate, ако искате да позволите на потребителите да редактират часовете „Пристигане в“ и „Тръгване в“, без да се изисква потребителят първо да избере да редактира родителския запис.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извадете часовете от резултата от заявката на SQL Server 2012

  2. Създаване на персонализирано изображение на SQL Server Docker върху официалното изображение

  3. Получаване на общ брой редове от OFFSET / FETCH NEXT

  4. Как да научите MS SQL Server 2005?

  5. Активиране на поща от база данни в SQL Server (T-SQL)