Hướng Dẫn Tùy Chỉnh Form SharePoint List Bằng Power Apps
TL;DR: Power Apps cho phép tùy chỉnh form New/Edit/View của SharePoint List — thêm hiển thị có điều kiện, kiểm tra dữ liệu, bố cục nhiều tab, và lookup nâng cao — hoàn toàn kéo-thả, không cần giấy phép Premium (dùng connector tiêu chuẩn miễn phí trong Microsoft 365). Đây là điểm khởi đầu phổ biến nhất cho Power Apps trong doanh nghiệp.
Tùy chỉnh form SharePoint List bằng Power Apps — kéo thả, hiển thị điều kiện, kiểm tra dữ liệu
Power Apps tùy chỉnh form SharePoint giúp thay đổi giao diện form New/Edit/View của SharePoint List — thêm logic hiển thị có điều kiện, quy tắc kiểm tra dữ liệu, bố cục nhiều tab, và thẻ lookup nâng cao. Tất cả thao tác bằng kéo-thả, không cần giấy phép Premium (dùng connector tiêu chuẩn). Đây là cách đưa low-code vào doanh nghiệp nhanh nhất: không tốn thêm chi phí, triển khai ngay lập tức, không cần Dataverse.
Bạn muốn tùy chỉnh form SharePoint chuyên nghiệp cho doanh nghiệp? Liên hệ PUPAM để được tư vấn thiết kế và triển khai.
So Sánh Form Mặc Định Và Form Tùy Chỉnh
| Tính năng | Form mặc định SharePoint | Form tùy chỉnh Power Apps |
|---|---|---|
| Bố cục | Tuyến tính (trên xuống dưới) | Tùy chỉnh (nhiều tab, phân nhóm) |
| Hiển thị có điều kiện | ❌ | ✅ Ẩn/hiện trường theo giá trị |
| Kiểm tra dữ liệu | Cơ bản (bắt buộc, định dạng) | ✅ Quy tắc tùy chỉnh |
| Lookup | Dropdown đơn giản | ✅ Tìm kiếm, lọc nâng cao |
| Trường tính toán | ❌ | ✅ Công thức thời gian thực |
| Tải file | Cơ bản | ✅ Xem trước, nhiều file |
| Responsive | ✅ | ✅ |
| Giấy phép | Có sẵn trong M365 | Có sẵn trong M365 (tiêu chuẩn) |
| Triển khai | Tự động | Publish → tự động nhúng vào SharePoint |
Bắt Đầu Tùy Chỉnh Form
Các Bước Thực Hiện
Bước 1 — Mở SharePoint List:
- Truy cập SharePoint site → chọn List cần tùy chỉnh
- Hoặc dùng Lists app tại lists.microsoft.com
Bước 2 — Mở trình chỉnh sửa Power Apps:
- Thanh công cụ List → Integrate → Power Apps → "Customize forms"
- Power Apps Studio mở trong trình duyệt
- Form được tự động tạo sẵn với tất cả các cột
Bước 3 — Hiểu cấu trúc form:
- SharePointIntegration — kết nối dữ liệu
- FormScreen1 — màn hình chính
- SharePointForm1 — điều khiển form
- DataCards — mỗi thẻ tương ứng 1 cột dữ liệu
Bước 4 — Sắp xếp bố cục:
- Kéo thả DataCards để sắp xếp lại thứ tự
- Thay đổi kích thước: chiều rộng DataCard theo lưới 1–12 cột
- Đặt 2 thẻ cạnh nhau: mỗi thẻ chiều rộng 50%
- Nhóm các trường liên quan lại gần nhau
Bước 5 — Xuất bản:
- Vào File → Publish to SharePoint
- Form tùy chỉnh tự động thay thế form mặc định
- Tất cả người dùng thấy form mới ngay lập tức
Hiển Thị Có Điều Kiện
Ẩn/Hiện Trường Theo Giá Trị Đã Chọn
Ví dụ 1: Hiện trường "Lý Do Khác" khi người dùng chọn "Khác" trong dropdown.
- Chọn DataCard "LyDoKhac" → Advanced → thuộc tính Visible:
DataCardValue_LoaiYeuCau.Selected.Value = "Khác"
Ví dụ 2: Hiện trường "Ngày Hoàn Thành" khi trạng thái là "Hoàn Thành".
- DataCard "NgayHoanThanh" → thuộc tính Visible:
DataCardValue_Status.Selected.Value = "Hoàn Thành"
Nhiều điều kiện kết hợp:
DataCardValue_Type.Selected.Value = "Urgent"
&& DataCardValue_Priority.Selected.Value = "High"
Dropdown phân tầng (cascading): Quốc gia → Tỉnh/Thành → Quận/Huyện
- Dropdown Tỉnh/Thành dùng công thức Filter:
Filter(DanhSachTinh, QuocGia = DataCardValue_QuocGia.Selected.Value)
Quy Tắc Kiểm Tra Dữ Liệu
Kiểm Tra Tùy Chỉnh Trước Khi Gửi Form
Kiểm tra định dạng email:
IsMatch(DataCardValue_Email.Text, Match.Email)
Kiểm tra số điện thoại Việt Nam (10 chữ số, bắt đầu bằng 0):
IsMatch(DataCardValue_Phone.Text, "^0\d{9}$")
Kiểm tra ngày không được ở quá khứ:
DataCardValue_DueDate.SelectedDate >= Today()
Kiểm tra phạm vi số tiền:
Value(DataCardValue_Amount.Text) > 0
&& Value(DataCardValue_Amount.Text) <= 1000000000
Công thức cho nút Gửi (Submit OnSelect) — kiểm tra nhiều trường cùng lúc:
If(
IsBlank(DataCardValue_Title.Text),
Notify("Tiêu đề bắt buộc!", NotificationType.Error),
IsBlank(DataCardValue_Email.Text),
Notify("Email bắt buộc!", NotificationType.Error),
!IsMatch(DataCardValue_Email.Text, Match.Email),
Notify("Email không hợp lệ!", NotificationType.Error),
SubmitForm(SharePointForm1)
)
Bố Cục Nhiều Tab
Điều Hướng Tab Chuyên Nghiệp
Khi form có nhiều hơn 8 trường, nên chia thành nhiều tab để cải thiện trải nghiệm người dùng.
Bước 1 — Tạo biến tab:
- Trong App OnStart:
Set(varTab, "info")
Bước 2 — Thêm các nút tab (ngang hàng):
- Nút "Thông Tin" —
OnSelect: Set(varTab, "info")—Fill: If(varTab="info", Blue, LightGray) - Nút "Chi Tiết" —
OnSelect: Set(varTab, "detail")—Fill: If(varTab="detail", Blue, LightGray) - Nút "Phê Duyệt" —
OnSelect: Set(varTab, "approval")—Fill: If(varTab="approval", Blue, LightGray)
Bước 3 — Gán hiển thị DataCards theo tab:
- Thẻ "Tên KH" →
Visible = varTab = "info" - Thẻ "Email" →
Visible = varTab = "info" - Thẻ "Mô tả chi tiết" →
Visible = varTab = "detail" - Thẻ "Người duyệt" →
Visible = varTab = "approval"
Cần thiết kế form nhiều tab phức tạp cho quy trình phê duyệt? Liên hệ PUPAM để được hỗ trợ xây dựng giải pháp hoàn chỉnh.
Nâng Cấp Lookup Tìm Kiếm
Lookup Có Thanh Tìm Kiếm
Dropdown mặc định khó tìm khi danh sách có trên 100 mục. Giải pháp: tạo lookup nâng cao với thanh tìm kiếm.
Các bước thực hiện:
- Thêm TextInput — đặt tên: SearchBox
- Thêm Gallery — đặt tên: LookupResults
- Thuộc tính Items của Gallery:
Filter(
Customers,
SearchBox.Text in Title
|| SearchBox.Text in Email
)
- Mẫu Gallery hiển thị: Tên + Email + Số điện thoại
- Thuộc tính OnSelect (khi chọn mục):
Set(varSelectedCustomer, ThisItem) - Giá trị DataCard:
varSelectedCustomer.Title
Ưu điểm so với dropdown mặc định:
- ✅ Tìm kiếm trên nhiều trường cùng lúc
- ✅ Hiển thị thông tin phong phú (không chỉ tên)
- ✅ Xử lý tốt trên 1.000 mục
- ✅ Trải nghiệm người dùng tốt hơn
Các Mẫu Phổ Biến
Tự Động Điền Thông Tin Người Dùng Hiện Tại
| Trường | Công thức Default | Ghi chú |
|---|---|---|
| Người tạo | User().FullName | Đặt DisplayMode: View (chỉ đọc) |
| Email người tạo | User().Email | Tự động lấy từ tài khoản đăng nhập |
| Phòng ban | Office365Users.MyProfile().Department | Lấy từ Azure AD profile |
| Quản lý | Office365Users.Manager(User().Email).DisplayName | Lấy tên quản lý trực tiếp |
Tự Động Tính Toán Giá Trị
| Trường | Công thức Default | Ghi chú |
|---|---|---|
| Thành tiền | Value(DataCardValue_SoLuong.Text) * Value(DataCardValue_DonGia.Text) | DisplayMode: View (tự động tính) |
| Ngày hết hạn | DateAdd(DataCardValue_NgayTao.SelectedDate, 30, TimeUnit.Days) | Tự động cộng 30 ngày |
| Mã phiếu | "PH-" & Text(Now(), "yyyyMMdd-HHmmss") | Tự động tạo mã duy nhất |
Tối Ưu Hiệu Suất
Giới Hạn Delegation Của SharePoint
Power Apps có giới hạn delegation khi làm việc với SharePoint — cần hiểu rõ để tránh mất dữ liệu.
Giới hạn mặc định: 500 mục (cho hàm không hỗ trợ delegation) Tối đa có thể tăng: 2.000 mục (Settings → Experimental → Data row limit)
Hàm hỗ trợ delegation (chạy trên máy chủ):
- ✅ Filter, Search, Sort
- ✅ Toán tử: =, <>, <, >, <=, >=
- ✅ And, Or, Not
- ✅ StartsWith
Hàm KHÔNG hỗ trợ delegation (chỉ chạy trên máy khách):
- ❌ CountRows (trên 500 mục)
- ❌ Lookup với bộ lọc phức tạp
- ❌ Distinct, GroupBy
- ❌ Toán tử In
Khuyến nghị:
- Giữ danh sách dưới 2.000 mục để đảm bảo trải nghiệm tốt nhất
- Tạo chỉ mục (index) cho các cột dùng trong Filter/Sort
- Tránh dùng hàm không hỗ trợ delegation trong danh sách lớn
- Trên 5.000 mục → cân nhắc chuyển sang Dataverse
Danh Sách Kiểm Tra Triển Khai
- Xác định các cột cần tùy chỉnh trong SharePoint List
- Mở trình chỉnh sửa Power Apps form
- Sắp xếp lại và thay đổi kích thước DataCards (bố cục)
- Thêm hiển thị có điều kiện cho các trường phụ thuộc
- Thêm quy tắc kiểm tra dữ liệu (email, điện thoại, bắt buộc)
- Thiết lập tự động điền (người dùng hiện tại, ngày, mã phiếu)
- Kiểm thử với nhiều vai trò người dùng khác nhau
- Xuất bản lên SharePoint → xác nhận form hoạt động đúng
Câu Hỏi Thường Gặp
Tùy chỉnh form SharePoint có cần mua giấy phép Power Apps riêng không?
Không — đã bao gồm trong Microsoft 365. Form SharePoint List dùng connector tiêu chuẩn → miễn phí cho tất cả người dùng M365 (Business Basic, E3, E5, v.v.). Không cần mua giấy phép Per App hay Per User. Đây là lợi thế lớn nhất: tùy chỉnh form chuyên nghiệp mà không tốn thêm chi phí. Giới hạn: chỉ dùng được connector tiêu chuẩn (SharePoint, Office 365 Users, Outlook). Nếu cần kết nối SQL, Dataverse, hoặc API bên ngoài → mới cần giấy phép Premium.
Form tùy chỉnh có hoạt động trên điện thoại không?
Có — thiết kế responsive được tích hợp sẵn. Power Apps form tự động điều chỉnh cho trình duyệt di động. Khi người dùng mở SharePoint List trên điện thoại → tạo mới/chỉnh sửa mục → form tùy chỉnh hiển thị responsive. Lưu ý: trải nghiệm trên ứng dụng SharePoint mobile bị hạn chế hơn so với máy tính. Cách tối ưu: kiểm thử form trên chế độ mobile trong Power Apps Studio (View → Mobile). Bố cục nên dùng 1 cột cho mobile, dùng phần trăm thay pixel.
Có thể quay lại form mặc định không?
Có — chỉ cần 1 thao tác. Vào SharePoint List → Integrate → Power Apps → "See all forms" → "Use the default SharePoint form (revert)." Bản tùy chỉnh không bị xoá — vẫn lưu trong môi trường Power Platform, SharePoint chỉ chuyển về form mặc định. Muốn dùng lại bản tùy chỉnh: chọn "Use custom form" → chọn phiên bản đã xuất bản. Power Apps giữ lịch sử nhiều phiên bản → có thể khôi phục bất kỳ lúc nào.
Nhiều người có thể tùy chỉnh cùng một form không?
Không hỗ trợ chỉnh sửa đồng thời. Trình chỉnh sửa Power Apps form khoá khi 1 người đang chỉnh sửa. Người thứ 2 sẽ thấy thông báo "form is being edited by [tên]". Giải pháp: phân công rõ ràng ai chỉnh sửa khi nào. Đối với phát triển nhóm: dùng Solutions trong Power Platform → xuất/nhập → quản lý phiên bản. Thực tế với form SharePoint: thường chỉ cần 1 người (quản trị IT hoặc power user) phụ trách chỉnh sửa, kiểm thử, và xuất bản.
SharePoint List có bao nhiêu mục thì nên chuyển sang Dataverse?
Trên 5.000 mục — nên cân nhắc Dataverse. Ngưỡng xem SharePoint List: 5.000 mục (danh sách vẫn hoạt động nhưng lọc/sắp xếp bị hạn chế). Power Apps delegation: 500–2.000 mục mỗi truy vấn. Dataverse: hàng triệu dòng, cấu trúc quan hệ đầy đủ, phân quyền theo dòng. Nguyên tắc: dưới 2.000 mục + cấu trúc đơn giản → SharePoint List (miễn phí). Từ 2.000–5.000: tối ưu chỉ mục + kiểm soát delegation. Trên 5.000 hoặc cần quan hệ phức tạp → Dataverse.
Có thể dùng Power Apps form để tạo quy trình phê duyệt không?
Có — kết hợp với Power Automate. Thiết kế form có trường "Trạng thái phê duyệt" và "Người duyệt" → khi người dùng gửi form, Power Automate tự động gửi yêu cầu phê duyệt qua email hoặc Teams. Người duyệt nhấn Chấp nhận/Từ chối → flow cập nhật trạng thái trong SharePoint List. Form hiển thị thông tin phê duyệt theo điều kiện (tab "Phê Duyệt" chỉ hiện cho người có quyền). Đây là mẫu phổ biến nhất cho đơn nghỉ phép, đơn mua hàng, và yêu cầu hỗ trợ.
Nguồn Tham Khảo
- Tùy chỉnh form SharePoint bằng Power Apps — Microsoft Learn
- Công thức Power Apps — Microsoft Learn
- Delegation trong Power Apps — Microsoft Learn
- Giới hạn connector và API — Microsoft Learn
- Quản lý Power Apps — Power Platform admin center
- Tổng quan Dataverse — Microsoft Learn
Hành Động Tiếp Theo
- Chọn 1 SharePoint List có form nhập liệu thường xuyên → mở Power Apps Customize forms
- Thêm quy tắc kiểm tra dữ liệu (email, số điện thoại) và hiển thị có điều kiện → xuất bản và kiểm thử
- Đào tạo power user trong nhóm tự tùy chỉnh form → mở rộng sang các List khác
Bài Liên Quan
- Power Apps Dataverse Common Data Service
- Power Apps Licensing Plans Per App Per User
- Power Automate SharePoint Document Automation
- SharePoint Online Complete Guide
- Power Automate Triggers Actions Connectors
Kết Luận
| Tiêu chí | Chi tiết |
|---|---|
| Giấy phép | Miễn phí — connector tiêu chuẩn có sẵn trong Microsoft 365 |
| Tính năng chính | Hiển thị điều kiện, kiểm tra dữ liệu, tự động điền, bố cục nhiều tab, lookup nâng cao |
| Giới hạn | SharePoint List 5.000 mục, delegation 500–2.000 mục → vượt ngưỡng chuyển Dataverse |
Tùy chỉnh form SharePoint bằng Power Apps là cách nhanh nhất đưa low-code vào doanh nghiệp — không tốn thêm chi phí giấy phép, triển khai ngay lập tức, giao diện chuyên nghiệp. Hiển thị có điều kiện, kiểm tra dữ liệu, tự động điền thông tin người dùng, bố cục nhiều tab — tất cả qua kéo-thả. Xuất bản 1 lần → tất cả người dùng thấy form mới ngay.
Cần tùy chỉnh form SharePoint hoặc chuyển đổi sang Dataverse? Liên hệ PUPAM — đội ngũ chuyên gia Power Platform hỗ trợ thiết kế, triển khai, và đào tạo cho doanh nghiệp Việt Nam.