Chia sẻ qua


Các hàm Remove và RemoveIf

Áp dụng cho: Ứng dụng Canvas Ứng dụng dựa trên mô hình Power Platform CLI

Xóa bản ghi khỏi nguồn dữ liệu.

Lưu ý

Các lệnh pac power-fx của CLI PAC không hỗ trợ hàm RemoveIf .

Description

Hàm Remove

Dùng hàm Remove để xóa một hoặc nhiều bản ghi cụ thể khỏi nguồn dữ liệu.

Đối với bộ sưu tập, toàn bộ bản ghi phải khớp. Bạn có thể sử dụng đối số RemoveFlags.All để xóa tất cả các bản sao của một bản ghi; nếu không, chỉ có một bản sao của bản ghi bị xóa.

Hàm RemoveIf

Dùng hàm RemoveIf để xóa một hoặc nhiều bản ghi dựa trên một điều kiện hoặc một tập hợp các điều kiện. Mỗi điều kiện có thể là bất kỳ công thức nào trả về giá trị true hoặc false và có thể tham chiếu cột của nguồn dữ liệu theo tên. Hàm đánh giá riêng mỗi điều kiện cho từng bản ghi và sẽ xóa bản ghi nếu đánh giá rằng tất cả các điều kiện là true.

XóaXóaNếu trả về nguồn dữ liệu đã sửa đổi dưới dạng bảng. Bạn chỉ có thể sử dụng cả 2 hàm này trong công thức hành vi.

Bạn cũng có thể sử dụng hàm Clear để xóa tất cả các bản ghi trong bộ sưu tập.

Đại diện

RemoveIf chỉ được hỗ trợ bởi một số ít nguồn dữ liệu. Đối với các nguồn dữ liệu không hỗ trợ tính năng này, Power Apps sẽ truy vấn máy chủ và truy xuất tất cả dữ liệu khớp với biểu thức bộ lọc, tối đa là 500 hoặc 2000 bản ghi hoặc kích thước trang dữ liệu. Sau đó, nó sẽ xóa từng bản ghi đó riêng lẻ bằng cách thực hiện các lệnh gọi riêng đến máy chủ.

Cú pháp

Xóa( Nguồn dữ liệu, Bản ghi1 [, Bản ghi2, ... ] [, Xóa cờ.Tất cả ] )

  • Nguồn dữ liệu – Bắt buộc. Nguồn dữ liệu có chứa (các) bản ghi mà bạn muốn xóa.
  • Hồ sơ – Bắt buộc. (Các) bản ghi cần xóa.
  • RemoveFlags.All – Tùy chọn. Trong bộ sưu tập, một bản ghi có thể xuất hiện nhiều lần. Bạn có thể thêm đối số RemoveFlags.All để xóa tất cả các bản sao của bản ghi.

Xóa( DataSource, Bảng [, Xóa cờ .Tất cả ] )

  • Nguồn dữ liệu – Bắt buộc. Nguồn dữ liệu có chứa các bản ghi mà bạn muốn xóa.
  • Bảng – Bắt buộc. Bảng chứa các bản ghi cần xóa.
  • RemoveFlags.All – Tùy chọn. Trong bộ sưu tập, một bản ghi có thể xuất hiện nhiều lần. Bạn có thể thêm đối số RemoveFlags.All để xóa tất cả các bản sao của bản ghi.

XóaNếu( Nguồn dữ liệu, Điều kiện [, ... ] )

  • Nguồn dữ liệu – Bắt buộc. Nguồn dữ liệu có chứa (các) bản ghi mà bạn muốn xóa.
  • Điều kiện – Bắt buộc. Công thức để đánh giá là true đối với (các) bản ghi cần xóa. Bạn có thể sử dụng các tên cột trong DataSource (Nguồn dữ liệu) cho công thức. Nếu bạn chỉ định nhiều Conditions (Điều kiện), hàm sẽ đánh giá tất cả các điều kiện đó là true đối với (các) bản ghi cần xóa.

Ví dụ - một công thức

Trong các ví dụ này, bạn sẽ xóa một hoặc nhiều bản ghi trong nguồn dữ liệu có tên IceCream (Kem) và bắt đầu với dữ liệu trong bảng sau:

Ví dụ về IceCream.

Tạo một bộ sưu tập với các bản ghi mẫu

Cách tạo bộ sưu tập với dữ liệu này:

  1. Thêm công cụ điều khiển Nút.

  2. Đặt thuộc tính OnSelect của nút thành công thức sau:

    ClearCollect( IceCream,
                  { ID: 1, Flavor: "Chocolate",  Quantity: 100 },
                  { ID: 2, Flavor: "Vanilla",    Quantity: 200 },
                  { ID: 3, Flavor: "Strawberry", Quantity: 300 }
    )
    
  3. Hãy chọn nút thứ hai đồng thời nhấn và giữ phím Alt:

Xóa bản ghi mẫu khỏi bộ sưu tập bằng công thức

Công thức Description Kết quả
Loại bỏ (Kem,
Tra cứu(Kem, Hương vị="Chocolate")
Xóa bản ghi Chocolate (Sô cô la) khỏi nguồn dữ liệu. Kết quả có hương vani và dâu tây.

Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi.
Loại bỏ (Kem,
Tra cứu(Kem, Hương vị="Sôcôla"), Tra cứu(Kem, Hương vị="Dâu tây") )
Xóa 2 bản ghi khỏi nguồn dữ liệu. Kết quả chỉ với Vanilla.

Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi.
RemoveIf(Kem, Số lượng > 150 ) Xóa các bản ghi có Quantity (Số lượng) lớn hơn 150. Kết quả chỉ có Chocolate.

Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi.
RemoveIf(Kem, Số lượng > 150, Left( Hương vị, 1 ) = "S" ) Xóa các bản ghi có Quantity (Số lượng) lớn hơn 150 và Flavor (Hương vị) bắt đầu bằng S. Kết quả với Chocolate và Vanilla.


Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi.
RemoveIf(Kem, đúng) Xóa tất cả bản ghi khỏi nguồn dữ liệu. Kết quả là không có kem.

Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi.

Trong ví dụ này, bạn sẽ sử dụng công cụ điều khiển Thư viện để liệt kê các bản ghi trong một bảng. Sau đó, sử dụng hàm Remove để xóa mục có chọn lọc.

Chuẩn bị dữ liệu mẫu

Ví dụ này sử dụng bảng Danh bạ trong Microsoft Dataverse có sẵn với ứng dụng và dữ liệu mẫu. Bạn có thể triển khai dữ liệu và ứng dụng mẫu khi tạo môi trường. Bạn cũng có thể sử dụng bất kỳ nguồn dữ liệu nào khác.

Trong ví dụ này, bạn sẽ xóa một mục bằng nút bên ngoài thư viện.

  1. Tạo một ứng dụng canvas trống mới sử dụng bố cục Điện thoại.

    Ứng dụng canvas trống sử dụng bố cục Điện thoại.

  2. Chọn Insert (Chèn) từ ngăn bên trái.

  3. Chọn Vertical gallery (Thư viện dọc).
    Công cụ điều khiển Thư viện sẽ được thêm vào màn hình của bạn.

    Sử dụng ngăn công cụ Chèn để thêm công cụ điều khiển thư viện dạng dọc.

  4. Bạn được nhắc chọn nguồn dữ liệu từ các nguồn dữ liệu có sẵn.
    Ví dụ: chọn bảng Danh bạ để sử dụng dữ liệu mẫu:

    Chọn bảng Danh bạ để hiển thị trong thư viện.

    Thư viện hiển thị các mục từ bảng này:

    Đã thêm thư viện hiển thị bảng Danh bạ.

  5. Thêm công cụ điều khiển Nút từ ngăn bên trái:

    Sử dụng ngăn công cụ Chèn để thêm công cụ điều khiển nút.

  6. Di chuyển nút đã thêm xuống phía dưới các mục trong thư viện:

    Nút Di chuyển.

  7. Cập nhật thuộc tính văn bản của nút thành Remove record (Xóa bản ghi). Bạn cũng có thể chọn sử dụng văn bản khác:

    Nút Đổi tên.

  8. Đặt thuộc tính OnSelect của công cụ điều khiển nút này thành công thức sau:

    Remove( Contacts, Gallery1.Selected )
    

    Đặt thuộc tính OnSelect của công cụ điều khiển nút.

    Công cụ điều khiển thư viện hiển thị bản ghi hiện được chọn bằng cách sử dụng thuộc tính Selected (Đã chọn). Hàm Remove tham chiếu đến bản ghi được chọn này để xóa nó.

  9. Xem trước ứng dụng bằng cách sử dụng nút Play (Phát) ở trên cùng bên phải hoặc nhấn F5 trên bàn phím:

    Xem trước ứng dụng.

  10. Chọn một bản ghi để xóa, chẳng hạn như bản ghi của Nancy trong ví dụ sau:

    Chọn bản ghi.

  11. Chọn Remove record (Xóa bản ghi):

    Thư viện người liên hệ giờ sẽ không còn bản ghi Nancy đã bị xóa.

    Khi chọn nút này, bản ghi đã chọn (trong ví dụ này là bản ghi của Nancy) sẽ bị xóa.

  12. Đóng bản xem trước ứng dụng.

    Tiền boa

    Bạn cũng có thể nhấn phím Alt để đóng bản xem trước ứng dụng, thay vì nhấn nút Play hoặc phím F5 để mở bản xem trước ứng dụng.

Trong ví dụ này, bạn sẽ xóa một mục bằng icon (biểu tượng) bên trong thư viện.

Tạo thư viện bằng dữ liệu mẫu

Nếu bạn đã chuẩn bị dữ liệu mẫu, hãy bỏ qua bước này và chuyển đến Biểu tượng thùng rác trong thư viện.

  1. Thêm một công cụ điều khiển có tên là Nút vào màn hình.

  2. Để đặt thuộc tính OnSelect thành công thức sau:

    ClearCollect( SampleContacts,
          { 'Full Name': "Yvonne McKay (sample)",      'Primary Email': "someone_a@example.com" },
          { 'Full Name': "Susanna Stubberod (sample)", 'Primary Email': "someone_b@example.com" },
          { 'Full Name': "Nancy Anderson (sample)",    'Primary Email': "someone_c@example.com" },
          { 'Full Name': "Maria Campbell (sample)",    'Primary Email': "someone_d@example.com" },
          { 'Full Name': "Robert Lyon (sample)",       'Primary Email': "someone_e@example.com" },
          { 'Full Name': "Paul Cannon (sample)",       'Primary Email': "someone_f@example.com" },
          { 'Full Name': "Rene Valdes (sample)",       'Primary Email': "someone_g@example.com" }
    )
    
  3. Hãy chọn nút này đồng thời nhấn giữ phím Alt.

Bạn có thể sử dụng bộ sưu tập mẫu được tạo trong ví dụ sau.

  1. Tạo một ứng dụng canvas trống mới sử dụng bố cục Điện thoại.

    Ứng dụng canvas trống sử dụng bố cục Điện thoại.

  2. Chọn Insert (Chèn) từ ngăn bên trái.

  3. Chọn Vertical gallery (Thư viện dọc).
    Công cụ điều khiển Thư viện sẽ được thêm vào màn hình của bạn.

    Sử dụng ngăn công cụ Chèn để thêm công cụ điều khiển thư viện dạng dọc.

  4. Bạn được nhắc chọn nguồn dữ liệu từ các nguồn dữ liệu có sẵn.
    Ví dụ: chọn bảng Danh bạ để sử dụng dữ liệu mẫu:

    Chọn bảng Danh bạ để hiển thị trong thư viện.

    Nếu bạn đã tạo một bộ sưu tập, hãy chọn bộ sưu tập này:

    Bộ sưu tập người liên hệ mẫu.

  5. Chọn công cụ điều khiển ở mục trên cùng trong thư viện:

    Để đảm bảo bước tiếp theo là thêm mục vào mẫu trong thư viện chứ không phải bên ngoài thư viện, hãy nhớ làm theo bước này rồi mới chuyển sang bước tiếp theo.

    Chọn bản ghi trên cùng trong thư viện.

  6. Chọn Add icon (Thêm biểu tượng) ở khung bên trái.

    Sử dụng ngăn công cụ Chèn để thêm công cụ điều khiển biểu tượng.

    Lưu ý

    Thêm biểu tượng chèn một biểu tượng + vào bên trái của thư viện, được sao chép cho từng mục trong thư viện.

  7. Ở mục trên cùng, hãy di chuyển biểu tượng sang bên phải màn hình.

    Di chuyển biểu tượng.

  8. Chọn thuộc tính Icon (Biểu tượng) cho biểu tượng và đặt thành công thức sau để cập nhật hình ảnh thùng rác cho biểu tượng:

    Icon.Trash
    

    Lưu ý

    Tiền tố Icon. chỉ hiển thị khi bạn chủ động chỉnh sửa công thức.

    Thay đổi biểu tượng thành biểu tượng thùng rác.

  9. Để đặt thuộc tính OnSelect thành công thức sau:

    Remove( [@Contacts], ThisItem )
    

    Lưu ý

    Bạn phải dùng toán tử định hướng toàn cầu[@...] trong ví dụ này với dữ liệu mẫu sử dụng bảng Contacts (Danh bạ) để tránh xung đột với mối quan hệ Một-nhiều. Nếu bạn sử dụng các nguồn dữ liệu như danh sách hoặc bảng Máy chủ SQL, thì không cần sử dụng toán tử phân biệt toàn cục .

    OnSelect của biểu tượng thùng rác.

  10. Xem trước ứng dụng bằng cách sử dụng nút Play (Phát) ở trên cùng bên phải hoặc nhấn F5 trên bàn phím.

  11. Chọn biểu tượng thùng rác bên cạnh bản ghi, ví dụ: bản ghi của Maria:

    Thư viện với một trong những liên hệ bị xóa.

    Đã xóa bản ghi:

    Bản ghi đã xóa.

  12. Đóng bản xem trước ứng dụng.