2013-10-25 3 views
0

Я пытаюсь контролировать видимость заголовка HeaderRow во время выполнения.Показать или скрыть строку «header» (фильтр) SlickGrid во время выполнения

[Примечание: Чтобы устранить любую путаницу: я не говорю о строке с именами столбцов; Я говорю о строке, которая была видна с помощью опции сетки «showHeaderRow: true»; то есть, что может быть лучше названо «Строкой фильтра»].

Я пытаюсь использовать:

grid.setOptions({ showHeaderRow: true/false }); 
grid.invalidate(); 

Это, кажется, не имеют никакого влияния на сетке или дисплее HeaderRow.

Любые мысли о том, что мне не хватает?

ответ

0

Да, это должно быть достаточно простым, я использую эти 2 части кода, чтобы скрыть/показать динамически после того, как сетка уже создана.
grid.hideHeaderRowColumns();
grid.showHeaderRowColumns();

Дайте ему попробовать, надеюсь, что это помогает ...

2

это работало для меня:

if(grid.getOptions().showHeaderRow){ 
    grid.setHeaderRowVisibility(false); 
}else{ 
    grid.setHeaderRowVisibility(true); 
} 
+0

У этого есть забавная анимация, то, что она делает внутренне, в основном использует jquery, чтобы скрыть и показать заголовок так или иначе, так что это могло бы быть сделано с vanilla jquery. – simonzack

0

Я использую SlickGrid версии 2.1 на момент написания, и у меня есть аналогичное требование, как ваше. После копания некоторой глубины в исходный код я предполагаю, что опция showHeaderRow не влияет на отображение результирующей сетки, если не работает совместно с grid.setHeaderRowVisibility(visibility).

Во всяком случае, мне удалось обойти с простой техникой Jquery после того, как сетка создается, просто используя код ниже, если вы не хотите какой-либо анимации:

$(".slick-header").hide(); 

Хотя это старый вопрос спросил 2 года назад, и Slick Grid не получил никакого прогресса в течение некоторого времени, я все же считаю, что это довольно полезная библиотека. Надеюсь, что это будет дополнять поток и немного поможет продвинутым пользователям.

Смежные вопросы