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 CLI pac power-fx không hỗ trợ chức năng 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.
Hàm Remove và hàm RemoveIf 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
Khi được sử dụng với nguồn dữ liệu, các chức năng này không thể được ủy quyền. Chỉ có phần đầu tiên của nguồn dữ liệu mới được truy xuất, phần còn lại sau đó sẽ áp dụng hàm. Điều này có thể không đại diện cho câu chuyện hoàn chỉnh. Một cảnh báo có thể xuất hiện tại thời điểm soạn thảo để nhắc nhở bạn về hạn chế này.
Hỗ trợ ủy quyền (Thử nghiệm)
Hỗ trợ ủy quyền cho RemoveIf hiện có trong Thử nghiệm bản xem trước (mặc định TẮT) cho các nguồn dữ liệu hỗ trợ nó. Nếu nguồn dữ liệu không hỗ trợ tính năng này Power Apps sẽ gửi truy vấn đế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 với kích thước tối đa là 500, 2000 hoặc kích thước trang dữ liệu. Sau đó, nó sẽ thực hiện thao tác xóa trên từng bản ghi đó bằng các lệnh gọi riêng lẻ đến máy chủ.
Cú pháp
Xóa( DataSource, Bản ghi1 [, Bản ghi2 , ... ] [, RemoveFlags.All ] )
- DataSource – Bắt buộc. Nguồn dữ liệu có chứa (các) bản ghi mà bạn muốn xóa.
- Record – 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ả ] )
- DataSource – Bắt buộc. Nguồn dữ liệu có chứa các bản ghi mà bạn muốn xóa.
- Table – 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.
RemoveIf( DataSource, Condition [, ... ] )
- DataSource – Bắt buộc. Nguồn dữ liệu có chứa (các) bản ghi mà bạn muốn xóa.
- Condition(s) – 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:
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:
Thêm công cụ điều khiển Nút.
Đặ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 } )
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ả |
---|---|---|
Remove( IceCream, Tra cứu(Kem, Hương vị="Sô-cô-la" )) |
Xóa bản ghi Chocolate (Sô cô la) khỏi nguồn dữ liệu. |
Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi. |
Remove( IceCream, LookUp( IceCream, Flavor="Sôcôla" ), LookUp( IceCream, Flavor="Strawberry" ) ) |
Xóa 2 bản ghi khỏi nguồn dữ liệu. |
Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi. |
RemoveIf( IceCream, Quantity > 150 ) | Xóa các bản ghi có Quantity (Số lượng) lớn hơn 150. |
Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi. |
RemoveIf( IceCream, Quantity > 150, Left( Flavor, 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. |
Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi. |
RemoveIf( IceCream, true ) | Xóa tất cả bản ghi khỏi nguồn dữ liệu. |
Nguồn dữ liệu IceCream (Kem) cũng đã được sửa đổi. |
Ví dụ - nút xóa bên ngoài thư viện
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.
Nút xóa bên ngoài thư viện
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.
Tạo một ứng dụng canvas trống mới sử dụng bố cục Điện thoại.
Chọn Insert (Chèn) từ ngăn bên trái.
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.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:Thư viện hiển thị các mục từ bảng này:
Thêm công cụ điều khiển Nút từ ngăn bên trái:
Di chuyển nút đã thêm xuống phía dưới các mục trong thư viện:
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:
Đặ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 )
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 bản ghi đó.
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:
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 Remove record (Xóa bản ghi):
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.
Đó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.
Ví dụ - biểu tượng thùng rác trong thư viện
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.
Thêm một công cụ điều khiển có tên là Nút vào màn hình.
Để đặ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" } )
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.
Biểu tượng thùng rác trong thư viện
Tạo một ứng dụng canvas trống mới sử dụng bố cục Điện thoại.
Chọn Insert (Chèn) từ ngăn bên trái.
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.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:Nếu bạn đã tạo một bộ sưu tập, hãy chọn bộ sưu tập này:
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 Add icon (Thêm biểu tượng) ở khung bên trái.
Lưu ý
Thao tác nhấn vào Add icon (Thêm biểu tượng) sẽ thêm biểu tượng + ở phía bên trái của thư viện, được sao chép cho từng mục trong thư viện.
Ở mục trên cùng, hãy di chuyển biểu tượng sang bên phải màn hình.
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.
Để đặ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 SQL Server thì không cần phải sử dụng toán tử phân biệt toàn cục .
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.
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:
Đã xóa bản ghi:
Đóng bản xem trước ứng dụng.