ag-grid: цветные ячейки, если срок годности приближается - PullRequest
0 голосов
/ 07 ноября 2019

Попытка закрасить ячейки, если даты в сетке скоро истекают, т.е. 'Survey Exp - 1/1/2020', и я хочу, чтобы ячейка стала красной, когда сегодняшняя дата составляет 5 месяцев после истечения срока действия поставщика. Просьба помочь

        var today = new Date();
        var curr_date = today.getDate();
        var curr_month = today.getMonth() + 1;
        var curr_year = today.getFullYear();
        var todayMan = curr_month + '/' + curr_date + '/' curr_year

        class Bsall extends React.Component {
        constructor(props) {
        super(props) 
        this.state = {
        items: [],
        columnDefs: [

            {headerName: "Supplier Status", field: "supplier_status", sortable: true, filter: true},
            {headerName: "Survey Exp", field: "survey_exp", sortable: true, filter: true, cellStyle: 
            params => {
                if (params.value < todayMan + 5) {
                    return {'background-color': 'red'}}
                }},

1 Ответ

1 голос
/ 08 ноября 2019

Чтобы достичь ожидаемого результата, используйте нижеприведенную опцию использования новой даты и сравнения месяцев с getMonth () от даты

  1. Получите разницу лет по обеим датам и конвертируйте в месяцы, умножив на 12
    ((new Date(val).getFullYear() - new Date(todayMan).getFullYear()) * 12)

  2. Получить месяцы с обеих дат методом getMonth () и его разность

    new Date(val).getMonth() - new Date(todayMan).getMonth()

  3. Сочетание обоих значений даст счетчик месяцев между датами
  4. Проверьте, не меньше ли это 5 месяцев, и примените стиль

    if (months < 5) { return {'background-color': 'red'} }

Рабочий кодобразец для справки - https://codepen.io/nagasai/pen/ZEEowMr?editors=1010

...