Microsoft Dynamics CRM 2013: Adding row colours to sub-grids dynamically based on value in cells

Discussion in 'Dynamics 365 for Sale' started by Hân, Nov 29, 2014.

  1. Hân

    Hân Member

    Xin chào các bạn, hôm nay mình có nhận được một yêu cầu thiết kế Form khá thú vị. Yêu cầu đó là tự động thay đổi màu sắc của dòng trong Sub-grids theo điều kiện của một cột trong Microsoft Dynamics CRM.

    Bài viết này mình sẽ chia sẽ cho các bạn cách để thêm các dòng với màu sắc khác nhau theo điều kiện vào Sub-grids.

    VD : với điều kiện Loại Hoạt Động (Activities Type)
    - Task : sẽ hiện mà xanh lá
    - Appointment : sẽ hiện dòng màu vàng
    Bước 1:

    Login vào CRM của bạn > Chọn Form chứa Fields mà bạn muốn chỉnh.

    VD : CRM > SALE (Bán Hàng) > CONTACT (Người liên hệ)

    Microsoft Dynamic CRM - Adding row colours to sub-grids - 01.jpg



    Bước 2:

    Hiển thị màn hình Form > VD : sửa Gird Activities (Hình dưới hiển thị Grid chưa chỉnh sửa)


    Microsoft Dynamic CRM - Adding row colours to sub-grids - 06.jpg

    Tại menu > Click vào nút ... > chọn Form để vào giao diện chỉnh sửa Form.

    Microsoft Dynamic CRM - Adding row colours to sub-grids - 02.jpg


    Bước 3:


    Hiển thị cửa sổ Form Editor Contact > nhấp đúp vào Grid bạn cần chỉnh sửa > Tab "Detail" > bạn xem phần Name (tên Grid bạn sẽ viết trong file js)​

    Microsoft Dynamic CRM - Adding row colours to sub-grids - 04.jpg

    Bước 4:


    Bạn thêm đoạn script sau vào file js để thay đổi màu sắc cho Field bạn chọn

    function subGridOnload()
    {
    var grid = $('ActivitiesID'); //Replace Grid name here
    if (grid == null)
    {
    // delay one second and try again.
    setTimeout(subGridOnload, 1000);
    return;
    }

    if(grid[0] == undefined)
    {
    // delay one second and try again.
    setTimeout(subGridOnload, 1000);
    return;
    }

    if(grid[0].control == undefined)
    {
    // delay one second and try again.
    setTimeout(subGridOnload, 1000);
    return;
    }

    if(grid[0].control == null)
    {
    // delay one second and try again.
    setTimeout(subGridOnload, 1000);
    return;
    }

    if (grid[0].control.get_totalRecordCount() == -1)
    {
    // delay one second and try again.
    setTimeout(subGridOnload, 1000);
    return;
    }

    // logic Replace status names and colours as required

    $('#ActivitiesID td').filter(function () {
    return $(this).text() == 'Task';
    }).closest('tr').css('background-color', 'green');

    $('#ActivitiesID td').filter(function () {
    return $(this).text() == 'Appointment';
    }).closest('tr').css('background-color', 'yellow');
    }
    Bước 5:

    Sau đó tại Form Editor Contact

    > Bạn thêm file js vào bằng cách click nút Form Properties

    > Hiện cửa sổ Form Properties bạn chọn file js và hàm cho sự kiện On Load
    Microsoft Dynamic CRM - Adding row colours to sub-grids - 03.jpg


    Bước 6:

    Bạn OK để xác nhận hoàn thành script > Save và Public những chỉnh sửa > Hoàn tất yêu cầu

    Bạn tải lại Form sẽ được kết quả như hình sau :​

    Microsoft Dynamic CRM - Adding row colours to sub-grids - 05.jpg
    Cảm ơn các bạn đã đọc bài viết.

    Tham khảo :

     
    Last edited: Nov 29, 2014
  2. Loading...

    Similar Threads Forum Date
    Microsoft Dynamics 365 for Finance and Operations, Enterprise edition July 2017 update Finance and Operations Feb 12, 2018
    Microsoft Dynamics 365 for Retail Dynamics 365 for Retail Feb 11, 2018
    Microsoft Dynamics AX 2012 R3: Transparent eProcurement Finance and Operations Feb 9, 2018
    Skype and Microsoft Dynamics 365 Dynamics 365 for Sale Sep 1, 2017
    Bắt đầu với bộ công cụ tích hợp SSIS cho Microsoft Dynamics 365 / CRM Tableau Aug 15, 2017

Share This Page