Как узнать, когда используются фильтры при использовании Telerik Rad Grid? - PullRequest
0 голосов
/ 19 ноября 2011

У меня есть поиск по всему сайту, где я помещаю результаты поиска в несколько Rad Radrid. Я скрываю сетку, когда в ней нет строк. У меня есть особый случай, когда я не хочу скрывать сетку, когда пользователь применяет фильтры столбцов, а результаты отсутствуют. Я хочу, чтобы пользователь мог изменять фильтры столбцов, несмотря на отсутствие результатов. Мой текущий код скрывает сетку и не позволяет пользователю изменять фильтры столбцов.

Есть ли способ узнать, когда фильтры применяются к RadGrid со стороны клиента?

Мой код клиента выглядит так:

function OnClientDataBound(sender, args) {
            toggleLoadingPanel(sender.get_id(), false);

            var grid = $find(sender.ClientID);
            var masterTable = grid.get_masterTableView();
            var rows = masterTable.get_dataItems();

            // I want to be able to determine if the grid has filters applied here 
            // so that I don't hide it in this case. 

            if (rows == 0) {
                var words = sender.ClientID.split("_");
                var divName = "#div" + words[words.length-1];
                jQuery(divName).hide();
            }

        }

1 Ответ

2 голосов
/ 19 ноября 2011

Сторона сервера (на всякий случай, если вам это может пригодиться):

Если у вас есть объект Column, вы можете использовать CurrentFilterFunction и CurrentFilterValue, чтобы получить / установить фильтр этого столбца.

Если вы хотите проверить всю сетку за один раз, вы можете использовать yourRadGridObject.MasterTableView.FilterExpression

На стороне клиента:

get_filterExpressions ()

...