Hàm DataSourceInfo
Áp dụng cho: Ứng dụng Canvas Ứng dụng dựa trên mô hình
Cung cấp thông tin về nguồn dữ liệu.
Tổng quan
Nguồn dữ liệu có thể cung cấp nhiều thông tin để tối ưu hóa trải nghiệm người dùng.
Bạn có thể dùng thông tin cấp độ cột để xác nhận thông tin mà người dùng nhập vào và cung cấp phản hồi ngay lập tức cho người dùng trước khi sử dụng hàm Patch. Hàm Validate sử dụng thông tin tương tự.
Bạn có thể sử dụng thông tin ở cấp nguồn dữ liệu, ví dụ: để tắt hoặc ẩn nút Edit (Chỉnh sửa) và New (Mới) với người dùng không có quyền chỉnh sửa và tạo bản ghi.
Các nguồn dữ liệu khác nhau về lượng thông tin sẽ cung cấp, bao gồm cả việc không cung cấp bất kỳ thông tin nào. Bộ sưu tập không cung cấp thông tin. Nếu một phần thông tin không được cung cấp, hàm sẽ sử dụng giá trị mặc định hoặc trả về blank.
Lưu ý
Hiện tại, hàm DataSourceInfo không được hỗ trợ trong Microsoft Danh sách.
Description
Thông tin cột
Bạn có thể dùng DataSourceInfo để có được thông tin về một cột cụ thể của nguồn dữ liệu:
Đối số thông tin | Loại Kết quả | Mô tả |
---|---|---|
DataSourceInfo. Tên hiển thị | Chuỗi | Tên hiển thị của cột. Nếu không xác định được tên hiển thị, hàm sẽ trả về tên cột. |
DataSourceInfo.Chiều dài tối đa | Số | Số lượng ký tự tối đa của cột. Chỉ áp dụng cho các cột có chứa chuỗi. Nếu không có mức tối đa, hàm sẽ trả về blank. |
DataSourceInfo.Giá Trị Tối Đa | Số | Giá trị số tối đa trong một cột. Chỉ áp dụng cho các cột có chứa số. Nếu không có mức tối đa, hàm sẽ trả về blank. |
Thông tin nguồn dữ liệu.Giá trị tối thiểu | Số | Giá trị số tối thiểu trong một cột. Chỉ áp dụng cho các cột có chứa số. Nếu không có mức tối thiểu, hàm sẽ trả về blank. |
DataSourceInfo.Yêu cầu | Boolean | Có cần đặt giá trị cho cột này không? Nếu nguồn dữ liệu không đặt giá trị này, hàm sẽ trả về false. |
Đối số thứ ba là tên của một cột dưới dạng chuỗi. Ví dụ: cột Phone (Điện thoại) trong bộ sưu tập People (Mọi người) sẽ được chuyển dưới dạng "Phone" ("Điện thoại") bao gồm cả dấu ngoặc kép.
Thông tin nguồn dữ liệu
Bạn cũng có thể dùng DataSourceInfo để có được thông tin về nguồn dữ liệu nói chung:
Đối số thông tin | Loại Kết quả | Mô tả |
---|---|---|
DataSourceInfo.Giá trị được phép | Boolean | Người dùng có thể được cấp những loại quyền nào với nguồn dữ liệu này? Nếu nguồn dữ liệu không đặt giá trị này, hàm sẽ trả về blank. |
DataSourceInfo.CreatePermission | Boolean | Người dùng hiện tại có được phép tạo bản ghi trong nguồn dữ liệu này không? Nếu nguồn dữ liệu không đặt giá trị này, hàm sẽ trả về true. |
DataSourceInfo.Xóa Quyền | Boolean | Người dùng hiện tại có được phép xóa bản ghi trong nguồn dữ liệu này không? Nếu nguồn dữ liệu không đặt giá trị này, hàm sẽ trả về true. |
DataSourceInfo.EditPermission | Boolean | Người dùng hiện tại có được phép chỉnh sửa bản ghi trong nguồn dữ liệu này không? Nếu nguồn dữ liệu không đặt giá trị này, hàm sẽ trả về true. |
DataSourceInfo. Quyền đọc | Boolean | Người dùng hiện tại có được phép đọc bản ghi trong nguồn dữ liệu này không? Nếu nguồn dữ liệu không đặt giá trị này, hàm sẽ trả về true. |
Lưu ý
DataSourceInfo trả về true nếu nó không thể xác định liệu người dùng hiện tại có quyền được yêu cầu hay không. Máy chủ sẽ kiểm tra lại quyền khi hoạt động thực tế được thực hiện và lỗi sẽ hiển thị nếu nó không được phép. Tại thời điểm này, chỉ có thể kiểm tra quyền bằng DataSourceInfo khi sử dụng Microsoft Dataverse.
Cú pháp
DataSourceInfo( DataSource, Thông tin [, Tên cột] )
- Nguồn dữ liệu – Bắt buộc. Nguồn dữ liệu sẽ dùng.
- Thông tin – Bắt buộc. Loại thông tin mà bạn muốn lấy.
- ColumnName – Tùy chọn. Tên cột để lấy thông tin cấp độ cột. Để biết thông tin ở cấp nguồn dữ liệu, không được sử dụng đối số ColumnName (Tên cột).
Lưu ý
Trước phiên bản 3.24042, tên cột được chỉ định bằng chuỗi văn bản sử dụng dấu ngoặc kép và nếu được kết nối với nguồn dữ liệu, chúng cũng cần phải là tên logic. Power Apps Ví dụ, tên logic "cr43e_name" có dấu ngoặc kép đã được sử dụng thay cho tên hiển thị Tên không có dấu ngoặc kép. Đối với SharePoint và các nguồn dữ liệu Excel có chứa tên cột có khoảng trắng, mỗi khoảng trắng được chỉ định bằng "_x0020_", ví dụ "Tên cột" là "Tên cột_x0020". Sau phiên bản này, tất cả các ứng dụng đều được tự động cập nhật theo cú pháp mới được mô tả trong bài viết này.
Ví dụ
Các ví dụ trong phần này sử dụng nguồn dữ liệu sau có tên là IceCream (Kem):
Nguồn dữ liệu cũng cung cấp thông tin sau:
- Tên hiển thị của Quantity (Số lượng) là "Quantity on Hand" (Số lượng hiện có).
- Độ dài tối đa của Flavor (Vị) là 30 ký tự.
- Cột Flavor (Vị) phải chứa một giá trị. Cột Quantity không bắt buộc.
- Quantity tối thiểu là 0.
- Quantity tối đa là 100.
- Người dùng hiện tại có thể đọc và chỉnh sửa các bản ghi của nguồn dữ liệu IceCream nhưng không thể tạo hoặc xóa bản ghi.
Công thức | Mô tả | Kết quả |
---|---|---|
DataSourceInfo(Kem, DataSourceInfo.DisplayName, Số lượng) | Trả về tên hiển thị của cột Quantity trong nguồn dữ liệu IceCream. | "Số lượng có sẵn" |
DataSourceInfo(Kem, DataSourceInfo.MaxLength, Hương vị) | Trả về độ dài tối đa của chuỗi cho trong cột Flavor của nguồn dữ liệu IceCream. | 30 |
DataSourceInfo(Kem, DataSourceInfo.Yêu cầu, Hương vị) | Nguồn dữ liệu IceCream có bắt buộc phải có cột Flavor không? | ĐÚNG VẬY |
DataSourceInfo(Kem, DataSourceInfo.Yêu cầu, Số lượng) | Nguồn dữ liệu IceCream có bắt buộc phải có cột Quantity không? | SAI |
DataSourceInfo(Kem, DataSourceInfo.MaxValue, Số lượng) | Trả về giá trị số tối đa của cột Quantity trong nguồn dữ liệu IceCream. | 100 |
DataSourceInfo(Kem, DataSourceInfo.MinValue, Số lượng) | Trả về giá trị số tối thiểu của cột Quantity trong nguồn dữ liệu IceCream. | 0 |
DataSourceInfo(Kem, DataSourceInfo.ReadPermission) | Người dùng hiện tại có thể đọc bản ghi trong nguồn dữ liệu IceCream không? | ĐÚNG VẬY |
DataSourceInfo(Kem, DataSourceInfo.EditPermission) | Người dùng hiện tại có thể chỉnh sửa bản ghi trong nguồn dữ liệu IceCream không? | ĐÚNG VẬY |
DataSourceInfo(Kem, DataSourceInfo.CreatePermission) | Người dùng hiện tại có thể tạo bản ghi trong nguồn dữ liệu IceCream không? | SAI |
DataSourceInfo(Kem, DataSourceInfo.DeletePermission) | Người dùng hiện tại có thể xóa bản ghi trong nguồn dữ liệu IceCream không? | SAI |