2013-09-24 3 views
0

Я новичок в додзё, .. борьбу много в этом, пожалуйста, помогите .....enhancedgrid фильтр плагин на стороне сервера в додзё

Я использую плагин фильтра в EnhancedGrid в додзё .... я я отлично справляюсь на стороне клиента, но прихожу на серверную сторону, я не знаю, как вызвать сервлет и получить отфильтрованные строки в сетку, пожалуйста, помогите в этом .....

Я пробовал что-то вроде этого ....

  grid = new EnhancedGrid({ 
       id : 'grid', 
       store : yourStore, 
       structure : layout, 
       rowSelector : '20px', 
       plugins : { 
          search : true, 
          pagination : { 
           pageSizes : [ "50", "100"], 
           description : true, 
           sizeSwitch : true, 
           pageStepper : true, 
           gotoButton : true, 
           maxPageStep : 2, 
           position : "bottom" 

          }, 
          filter : { 

           closeFilterbarButton : true, 
           ruleCount : 5, 
           ruleCountToConfirmClearFilter:2, 
           itemsName : "rows", 
           isServerSide:true, 
           isSateful:true, 
           url:"http:myaddress:8080/GridExample/Filter", 
           setupFilterQuery: setupFilter 



          } 
         } 
        }); 


       var setupFilter = function(commands, request){ 

         if(commands.filter && commands.enable){ 
          // some filter is defined and valid. You can modify the request object here. 
          }else{ 
          // no filter is valid. 
          } 
         }; 
        grid.placeAt("myGrid"); 
        grid.startup(); 

       } 
      }); 

ответ

0

Первый: вы загрузили плагин правильно?

dojo.require("dojox.grid.enhanced.plugins.Filter"); 

А может быть, это поможет вам с вашей проблемой:

http://dojotoolkit.org/reference-guide/1.8/dojox/grid/EnhancedGrid/plugins/Filter.html#introduction-to-server-side-filtering

С уважением

UPDATE 1

Привет! Мне нужно немного углубиться в ширину Сети, но в последнее время я думаю, что нашел ответ на ваш вопрос, как определить фильтр.

plugins: { 
      filter: { 
       isServerSide: true, 
       setupFilterQuery: function(commands, request){ 
       if(commands.filter && commands.enable){ 
        console.log(commands.filter); 
        request.query = { 
         "Name": "L*" 
             }  
       } 
       } 
       itemsName:'songs', 
       closeFilterbarButton: true, 
       ruleCount: 8 
       } 
      } 

Я хватаю это отсюда: https://bitbucket.org/dojo/dojox/src/64328839903b/grid/tests/enhanced/test_enhanced_grid_filter.html

Этот пример определяет фильтр, который ищет магазин для всех имен, которые начинаются с буквы «L». С помощью других поддерживаемых операторов вы можете определить свой собственный фильтр.

http://dojotoolkit.org/reference-guide/1.9/dojox/grid/EnhancedGrid/plugins/Filter.html#supported-operators

Надеется, что это помогает!

С уважением

+0

да я загружен этот фильтр плагин ..... Я прошел через эту ссылку, но я не понимаю, как это сделать .... плз помочь мне пример – user2794174

+0

, что я ВГА место в (команды, запрос) в функции @MiBrock – user2794174

+0

Привет, смотрите здесь: http://stackoverflow.com/questions/6069246/how-can-filter-definition-of-dojo-enhancegrid-be-transfered-to -сервер – MiBrock