2015-05-18 5 views
0

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

Что я думал (теоретически), что если бы мы могли отобразить пустую ячейку с каким-то выражением, например. {blank} {`}, что-то в этом роде, возможно, фильтрация возможна. Но не знаю, как это реализовать.

+0

Вы изучали функции фильтра данных dataView? См. [Этот пример] (http://mleibman.github.io/SlickGrid/examples/example4-model.html) – Edward

+0

Нормальная фильтрация работает абсолютно нормально, необходимо фильтровать на пустые ячейки, я попытался назначить {-} к ячейкам, которые не определены, теперь пустая ячейка набирает '{', но при удалении этого из поиска вся таблица не возвращается, она застряла с строками, имеющими только пустые ячейки. –

+1

Как выглядит «пустая» в вашей модели данных? (т. е. свойство на ваших строках)? Возможно, вам понадобится использовать фильтр типа 'typeof row.prop! = 'Undefined' && row.prop! = Null' или аналогичный. – Edward

ответ

0
function filter(item) { 
       for (var columnId in columnFilters) { 
        if (columnId !== undefined && columnFilters[columnId] !== "") { 
         var c = grid.getColumns()[grid.getColumnIndex(columnId)]; 
         if (item[c.field] !== undefined) 
         { 
          if (item[c.field].toString().toLowerCase().search(columnFilters[columnId].toLowerCase()) === -1) { 
           return false; 
          } 
         } else if(columnFilters[columnId] === "#blank") 
         { 
          return true; 
         } else 
          return false; 

        } 
       } 
       return true; 
      } 

добавив следующую строку «еще если (columnFilters [columnId] ===„@“) {возвращение с;}» у меня все пустые клетки (которые не имеют каких-либо данных), ячейка свойство = «неопределенный». Набрав '@' в окне поиска, все пустые ячейки будут отфильтрованы.