Проще или лучше проверить, нет ли в jqxgrid данных для отображения (пусто)?

Я пытаюсь включить / отключить jqxbuttons в зависимости от того, есть ли в моем jqxgrid данные для отображения. Единственный способ проверить, является ли мой jqxgrid пустым, это сделать что-то вроде:

function CheckIfGridEmpty()
{
    // Retrieve row data from my grid
    var rows = $('#myGrid').jqxGrid('getRows');

    if (rows.length > 0)
    {
        console.log("Grid is not empty");
    }
    else
    {
        console.log("Grid is empty");
    }
}

Есть ли более простой или лучший способ сделать это?

1 ответ

Решение

Ваше решение потенциально неверно, если вы фильтруете сетку. getrows возвращает только те строки, которые соответствуют фильтру.

GetRows

Получает все строки. Возвращает массив всех строк, загруженных в Grid. Если Grid отфильтрован, возвращаемое значение является массивом отфильтрованных записей.

Ты можешь использовать getboundrows вместо:

getboundrows

Получает все строки, загруженные из источника данных. Метод возвращает массив всех строк. Сортировка, фильтрация, группировка и разбиение по страницам таблицы не влияют на результат этого метода. Он всегда будет возвращать коллекцию строк, загруженную из источника данных.

Вы также можете использовать $('#myGrid').jqxGrid('source').records.length, Однако, я думаю, мы не можем сказать, что это проще.

Надеюсь это поможет!

Другие вопросы по тегам