Cách Set và Clear Notification cho control

Cách set và clear notification cho control tương tự nhưng cách set và clear notifications trên form. Giả sử bạn đã biết cách debug trên browser để test.

Để set và clear notifications cho control, chúng ta dùng các methods của Xrm.Page bên dưới:

Xrm.Page.getControl(arg).setNotification(message,uniqueId)
Xrm.Page.getControl(arg).clearNotification(uniqueId)

Chú thích:

  • arg: name hoặc key của control cần thao tác. Giả sử bạn chưa biết control mình cần test tên gì, có thể dùng hàm getName() bên dưới để lấy name của control đầu tiên trên form:
Xrm.Page.ui.controls.getByIndex(0).getName();
  • message: kiểu string, là thông tin muốn hiển thị trên form cho end user thấy khi dữ liệu không hợp lệ, và dấu “X” màu đỏ hiển thị bên cạnh control.
  • uniqueId: kiểu string, dùng để clearNotification xóa đúng message mình muốn xóa.

Ví dụ set notifications cho control có tên là ‘fullname’:

Xrm.Page.getControl('fullname').setNotification('Test for Full Name notification', '1234');

Ví dụ clear notification:

Xrm.Page.getControl('fullname').clearNotification('1234');

Các bước để kiểm chứng bằng debug mode của browser, tham khảo tại đây:

  • B1: giả sử mở Chrome browser
  • B2: mở form với một record của một entity bất kỳ.
  • B3: mở debug mode lên -> chọn Console -> chọn tiếp contentIFrameX (page.aspx)
  • B4: gõ lần lược các ví dụ của setNotification
  • B5: quay lại tab của form đang mở để xem kết quả bên dưới
  • B6: làm tương tự cho hàm clearNotification

Kết quả của hàm setNotification cho control:

set-clear-notification-for-controlBạn cũng có thể tham khảm thêm AddNotification() tại link bên dưới:

https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/gg334266%28v%3dcrm.8%29#addnotification

Ghi chú: hàm chỉ support cho những entities được liệt kê tại Updated Entities section như link bên dưới:

https://docs.microsoft.com/en-us/previous-versions/dynamicscrm-2016/developers-guide/gg328261%28v%3dcrm.8%29

Góc Kinh Nghiệm chúc các bạn thành công :) !


Leave a Reply

Your email address will not be published. Required fields are marked *