Logic mệnh lệnh

Lưu ý

Microsoft Power Fx là tên mới của ngôn ngữ công thức ứng dụng canvas. Những bài viết này được thực hiện khi chúng tôi trích xuất ngôn ngữ từ các ứng dụng canvas, tích hợp ngôn ngữ đó với các sản phẩm khác của Microsoft Power Platform và hiển thị dưới dạng nguồn mở. Bắt đầu với Tổng quan về Microsoft Power Fx để được giới thiệu về ngôn ngữ.

Hầu hết các công thức trong Microsoft Power Fx tính toán một giá trị. Giống như bảng tính Excel, việc tính toán lại xảy ra tự động khi giá trị thay đổi. Ví dụ: bạn có thể muốn hiển thị giá trị trong điều khiển Nhãn màu đỏ nếu giá trị nhỏ hơn 0 hoặc màu đen nếu giá trị khác. Vì vậy, bạn có thể thiết lập thuộc tính Màu của điều khiển đó thành công thức sau:

If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )

Trong ngữ cảnh này, điều đó có nghĩa gì khi người dùng chọn điều khiển Nút? Không có giá trị thay đổi nên không có mục mới để tính. Excel không có giá trị tương đương với điều khiển Nút.

Bằng cách chọn điều khiển Nút, người dùng khởi tạo một trình tự hành động hoặc hành vi sẽ thay đổi trạng thái của ứng dụng:

  • Thay đổi màn hình được hiển thị: hàm Back.
  • Kiểm soát tín hiệu (chỉ dành cho Power Apps): các hàm EnableDisable.
  • Làm mới, cập nhật hoặc xóa các mục trong nguồn dữ liệu: các hàm Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
  • Cập nhật biến ngữ cảnh (chỉ dành cho bảng tùy biến Power Apps): hàm UpdateContext.
  • Tạo, cập nhật hoặc xóa các mục trong bộ sưu tập: các hàm Collect, Clear, ClearCollect.

Vì các hàm này thay đổi trạng thái của ứng dụng, chúng không thể tự động tính lại. Bạn có thể sử dụng chúng trong các công thức cho thuộc tính OnSelect, OnVisible, OnHidden và các thuộc tính On... khác, được gọi là công thức hành vi.

Nhiều hơn một hành động

Sử dụng dấu chấm phẩy để tạo danh sách các hành động cần thực hiện. Ví dụ: bạn có thể muốn cập nhật một biến ngữ cảnh và sau đó quay lại màn hình trước đó:

UpdateContext( { x: 1 } ); Back()

Các hành động được thực hiện theo thứ tự xuất hiện trong công thức. Chức năng tiếp theo sẽ không bắt đầu cho đến khi chức năng hiện tại đã hoàn thành. Nếu xảy ra lỗi, các chức năng tiếp theo có thể không bắt đầu.