Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chỉnh sửa phức tạp trên chế độ xem lưới trong C #

Một cách tiếp cận là cho phép cập nhật theo cách Ajaxy hơn, như Aristos đã thảo luận. Đây thường được coi là một cách tiếp cận thân thiện với người dùng hơn và chắc chắn sẽ mang lại trải nghiệm người dùng tốt hơn, nhưng yêu cầu sự quen thuộc với jQuery và JavaScript và các tương tác giữa máy khách và máy chủ phức tạp hơn một chút theo quan điểm của bạn.

Nếu bạn muốn tiếp tục sử dụng mô hình điều khiển Web, hãy xem xét tạo các trường "Đến lúc" và "Rời khỏi" TemplateFields. Trong ItemTemplate, bạn có thể tiếp tục hiển thị văn bản bạn nối tại cơ sở dữ liệu, nhưng bạn phải đặt GridView trong EditItemTemplate. GridView này có thể được liên kết với một điều khiển nguồn dữ liệu (cũng trong EditItemTemplate) và được định cấu hình để hỗ trợ chỉnh sửa. Nếu bạn đang liên kết dữ liệu theo chương trình (tức là bạn không sử dụng điều khiển nguồn dữ liệu) thì bạn sẽ cần liên kết dữ liệu với GridView con bất cứ khi nào hàng mẹ có thể chỉnh sửa được. Điều này có thể được thực hiện một cách khai báo bằng cách sử dụng đánh dấu như sau:

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

Đây, SomeFunction sẽ là một hàm trong lớp mã phía sau của bạn (thông thường) trả về dữ liệu để liên kết với lưới.

Ngoài ra, bạn có thể liên kết dữ liệu với GridView con theo lập trình thông qua RowDataBound của GridView mẹ xử lý sự kiện. Cụ thể, bạn sẽ kiểm tra xem bạn có đang xử lý hàng đang được chỉnh sửa hay không (nghĩa là nếu e.Row.RowIndex = ParentGridViewID.EditIndex ). Nếu vậy, bạn có thể lập trình tham chiếu GridView con bằng cách sử dụng e.Row.FindControl("ChildGridViewID") và sau đó đặt DataSource của nó và gọi thuộc tính DataBind của nó phương pháp.

Khi người dùng nhấp vào nút Chỉnh sửa cho lưới chính, các ô "Đến" và "Rời khỏi" sẽ hiển thị dưới dạng lưới với các nút Chỉnh sửa của riêng họ để sửa đổi thời gian riêng lẻ. Ngoài ra, bạn có thể đặt GridView con có thể chỉnh sửa trong ItemTemplate nếu bạn muốn cho phép người dùng chỉnh sửa thời điểm "Đến" và "Rời khỏi" mà không yêu cầu người dùng trước tiên phải chọn chỉnh sửa bản ghi gốc.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật bảng bằng cách sử dụng JOIN trong SQL Server?

  2. Lệnh tùy chỉnh SQL bởi

  3. Sự khác biệt về cách xử lý khoảng trắng giữa Oracle và SQL Server

  4. SQL Server 2005 - Tìm Procs được lưu trữ nào chạy tới một bảng cụ thể

  5. Phải làm gì khi tôi muốn sử dụng các ràng buộc cơ sở dữ liệu nhưng chỉ đánh dấu là đã xóa thay vì xóa?