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 Lists.

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.DisplayName 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.MaxLength 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.MaxValue 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.
DataSourceInfo.MinValue 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.Required 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.AllowedValues 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.DeletePermission 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.ReadPermission 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ề đúng nếu 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 ] )

  • DataSource – Bắt buộc. Nguồn dữ liệu sẽ dùng.
  • Information – Bắt buộc. Loại thông tin mà bạn muốn lấy.
  • ColumnName – Không bắt buộc. Tên cột để truy xuất 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 ý

Trong Power Apps 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 thì chúng cũng cần phải là tên logic. Ví dụ: tên logic "cr43e_name" có dấu ngoặc kép đã được sử dụng thay vì tên hiển thị Tên không có dấu ngoặc kép. Đối với SharePoint và nguồn dữ liệu Excel 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""Cột_x0020_Name". 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):

Ví dụ về 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( IceCream, 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( IceCream, DataSourceInfo.Required, Flavor ) Nguồn dữ liệu IceCream có bắt buộc phải có cột Flavor không? true
DataSourceInfo( IceCream, DataSourceInfo.Required, Số lượng) Nguồn dữ liệu IceCream có bắt buộc phải có cột Quantity không? false
DataSourceInfo( IceCream, 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( IceCream, 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( IceCream, 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? true
DataSourceInfo( IceCream, 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? true
DataSourceInfo( IceCream, 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? false
DataSourceInfo( IceCream, 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? false