Action trong AppSheet là các nút hoặc hành động bạn gán cho giao diện để người dùng có thể thao tác với dữ liệu, chuyển màn hình, hoặc gọi chức năng ngoài. Khi người dùng nhấn 1 nút Action, ứng dụng sẽ thực hiện hành vi đã cấu hình (ví dụ: set giá trị cột, mở form, chuyển view...).
Các loại Action thường gặp được liệt kê cùng ví dụ minh họa:
| Loại Action | Mục đích | Ví dụ |
|---|---|---|
| Data: set the value of some columns | Sửa giá trị cột | Đánh dấu Status = "Done" |
| Data: add a new row | Thêm bản ghi mới | Tạo phiếu mới từ dữ liệu hiện có |
| App: go to another view | Chuyển màn hình | Mở view chi tiết sản phẩm |
| App: open a form to... | Mở form để nhập | Mở form tạo đơn hàng mới |
| External: go to a website | Mở link ngoài | Mở URL, gọi điện, mở email |
| Data: delete this row | Xóa dữ liệu | Xóa sản phẩm |
| Grouped action | Chạy tuần tự nhiều action | Set Status + Set FinishTime |
Dưới đây là ví dụ tạo nút Hoàn thành (khi bấm sẽ đặt Status = "Done"):
[Status] = "Done"
Nếu muốn đặt thời gian hoàn thành cùng lúc, ta sẽ làm tiếp — xem phần Grouped Action.
Position (vị trí hiển thị):
Điều kiện hiện/ẩn (Only if this condition is true):
Ví dụ: chỉ hiển thị khi Status chưa là "Done":
[Status] <> "Done"
Ngoài ra có các tùy chọn display khác như Display inline để hiện trong table rows hoặc detail.
Nếu bạn muốn chạy nhiều hành động cùng lúc (ví dụ: set status và ghi timestamp), ta tạo từng action nhỏ rồi tạo 1 Grouped action tổng hợp.
Ví dụ:
[Status] = "Done"[FinishTime] = NOW()Khi gõ tên Action C vào vị trí hiển thị, người dùng chỉ bấm 1 lần nhưng 2 thao tác A và B sẽ chạy theo thứ tự.
| Mục đích | Công thức / Ghi chú |
|---|---|
| Ghi timestamp khi hoàn thành | [FinishTime] = NOW() |
| Gán người dùng hiện tại | [User] = USEREMAIL() |
| Tăng số lượng | [Qty] = [Qty] + 1 |
| Chuyển sang view khác | LINKTOVIEW("Product_Detail") |
| Mở form thêm dữ liệu | LINKTOFORM("Order_Form") |
| Lọc danh sách theo điều kiện | LINKTOFILTEREDVIEW("ViewName", [Category] = [_THISROW].[Category]) |
Sử dụng Action khi bạn cần:
Bước thực hiện (tóm tắt):
// Do this: Data: set the value of some columns [Status] = "Done"
[FinishTime] = NOW()
// Do this: Grouped action Actions in sequence: SetStatusDone, SetFinishTime
[Status] <> "Done"
[Status] = "Open"[FinishTime] = NOW()[AssignedTo] = USEREMAIL()[Qty] > 0Tìm kiếm:
Action trong AppSheet — Tổng hợp chi tiết