2015-05-27 2 views
0

Пожалуйста, обратитесь this questionкод для фильтрации handsontables

ZekeDroid wrotes:

Отсюда, чтобы скрыть не-совпавшие строки, он становится жестким. То, что я сделал, это написать простую функцию.

Но хватающий веб в течение нескольких часов я не нашел никакого кода.

Я представляю только таблицу только для чтения, но со многими строками. И я понятия не имею, как написать плагин самостоятельно.

Конкретно: Вы обсуждали проблему с фильтром в феврале с Micheael B, и вы написали , что вы написали небольшой код с помощью поискового плагина. И мне кажется , что Майкл использовал его с некоторыми проблемами.

И, в свою очередь, мне кажется, что у Майкла есть доступ к вашему коду, даже в вашем ответе нет ссылки. Я ищу wwww (всю всемирную паутину), но ничего не нашел.

Итак, мой главный вопрос: можете ли вы показать мне свой код?

Мой запрос: Я хочу фильтровать (показывает только) строки, соответствующие критериям поиска . Чтобы раскрасить согласованные ячейки, это только приятный вариант. Только раскраски, как в удобных примерах, не имеет смысла, если есть 2 обращения, а таблица имеет 1000 строк.

+0

Умеешь ли ты быть более конкретным? Что вам нужно в точности? Какой у Вас вопрос? – ZekeDroid

+0

А, вам нужен код, который выполняет операцию «фильтр». Он очень специализирован для моего проекта, но с тем, что я предложил, вы должны быть в состоянии реализовать его самостоятельно. Что вы пробовали? – ZekeDroid

+0

ОК, забудьте об этом - –

ответ

0

Обратитесь к моему question, который похож на этот, но я также хотел отфильтровать колонку отдельно.

Я сумел закодировать решение, которое вы найдете в моем собственном Q/A.

Так что в вашем случае, если вы хотите, чтобы код, который скрыть ненужную строку() на основе один критериев поиска, основная функция будет выглядеть следующим образом:

function filter(search) { 
    var row, r_len; 
    var data = myData; 
    var array = []; 
    for (row = 0, r_len = data.length; row < r_len; row++) { 
     for(col = 0, c_len = data[row].length; col < c_len; col++) { 
      if(('' + data[row][col]).toLowerCase().indexOf(search) > -1) { 
       array.push(data[row]); 
       break; 
      } 
     } 
    } 
    hot.loadData(array); 
} 

Найти полное решение в this JS Fiddle

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