2013-10-03 2 views
1

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

{ 
     require([ "dojo/_base/lang", "dojox/grid/EnhancedGrid", 
       "dojox/grid/enhanced/plugins/Search", 
       "dojox/grid/enhanced/plugins/Filter", 
       "dojox/grid/enhanced/plugins/Pagination", 
       "dojo/data/ItemFileWriteStore", "dojo/store/JsonRest", 
       "dijit/form/Button", "dojo/_base/xhr", "dojo/dom", 
       "dojo/dom-construct", "dojo/json", "dojo/on", 
       "dojox/grid/cells/dijit", "dojo/domReady!" ], 
     function(lang, EnhancedGrid, Search, Filter, Pagination, 
       ItemFileWriteStore, JsonRestStore, Button, xhr, dom, 
       domConst, JSON, on) { 
      xhr.get({ 
       url : "http:myaddress:8080/GridSampleDojoExample/string", 
       handleAs : "json", 
       load : function(dataa) { 

        var mydata = dataa; 
        alert(JSON.stringify(dataa)); 

        var yourStore = new dojo.data.ItemFileWriteStore({ 
         data : { 
          identifier : "sno", 
          /* items: mydata.aa */ 
          items : mydata 
         } 
        }); 

        grid = new EnhancedGrid({ 
         id : 'grid', 
         store : yourStore, 
         structure : layout, 
         rowSelector : '20px', 
         plugins : { 
          search : true, 
          indirectSelection: { 
           headerSelector:true, 
           width:"40px", 
           styles:"text-align: center;" 

           }, 
          pagination : { 
           pageSizes : [ "50", "100"], 
           description : true, 
           sizeSwitch : true, 
           pageStepper : true, 
           gotoButton : true, 
           maxPageStep : 2, 
           position : "bottom", 
           defaultPageSize: 50 
          }, 
          filter : { 

           closeFilterbarButton : true, 
           ruleCount : 5, 
           itemsName : "rows" 
          } 
         } 
        }); 
        grid.placeAt("myGrid"); 
        grid.startup(); 



       } 
      }); 



     /* grid.on("RowClick", function (event) { 
        for (var i=0; i<store._arrayOfAllItems.length; i++) { 
        if (grid.getItem(i)) { 
         if (grid.getItem(i).check[0]) { 
         alert("clicked"); 
         } else { 
         alert("row is not checked, do something else"); 
         } 
        } 
        } 
       } */ 

      var id = Math.floor((Math.random()*100000)+100000); 
      var addbutton = new Button({ 
       onClick : function() { 
        id++; 

        grid.store.newItem({ 
         sno : id, 
         sname : 'san', 
         salary : '25000', 
         designation:'Product Engineer', 
         city:'Madras', 
         firstname:'asr', 
         lastname:'poi', 
         anualincome:'12345678' 


        }); 

        var stringdata=id+"#san#25000#Product Engineer#Madras#asr#poi#12345678"; 

        require( [ "dojo/_base/xhr" ], 
            function(xhr) {  xhr.get({ 
                 url : "http://localhost:8080/GridSampleDojoExample/UpdateServlet", 
                     content : { 
                      name : stringdata 
                     }, 
                     load : function(
                       result) { 
                      alert("The message is: " 
                        + result); 
                     } 
                    }); 

                 }); 
               store.save(); 
               grid.render(); 

           } 




      }, "addRow"); 


      var removebutton = new Button(
        { 
         onClick : function() { 
          var items = grid.selection.getSelected(); 


          if (items.length) { 

           dojo 
             .forEach(
               items, 
               function(selectedItem) { 

                if (selectedItem !== null) { 


                 var stringdata = grid.store 
                   .getValue(
                     selectedItem, 
                     "sno"); 






                 require(
                   [ "dojo/_base/xhr" ], 
                   function(
                     xhr) { 

                    xhr.get({ 
                       // The URL to request 
                       url : "http://localhost:8080/GridSampleDojoExample/DeleteServlet", 
                       content : { 
                        name : stringdata 
                       }, 
                       load : function(
                         result) { 
                        alert("The message is: " 
                          + result); 
                       } 
                      }); 

                   }); 


                 grid.store.deleteItem(selectedItem); 

                } 
               }); 
           store.save(); 
           grid.render();           

          } 

         } 
        }, "removeRow"); 



      var updatebutton = new Button(
        { 
         onClick : function() { 
          var items = grid.selection.getSelected(); 

          if (items.length) { 

           dojo 
             .forEach(
               items, 
               function(selectedItem) { 

                if (selectedItem !== null) { 


                 var stringdata = grid.store 
                   .getValue(
                     selectedItem, 
                     "sno"); 
                 stringdata = stringdata 
                   + "#" 
                   + grid.store 
                     .getValue(
                       selectedItem, 
                       "sname"); 

                 stringdata = stringdata 
                   + "#" 
                   + grid.store 
                     .getValue(
                       selectedItem, 
                       "salary"); 
                 stringdata = stringdata 
                   + "#" 
                   + grid.store 
                     .getValue(
                       selectedItem, 
                       "designation"); 
                 stringdata = stringdata 
                   + "#" 
                   + grid.store 
                     .getValue(
                       selectedItem, 
                       "city"); 
                 stringdata = stringdata 
                   + "#" 
                   + grid.store 
                     .getValue(
                       selectedItem, 
                       "firstname"); 
                 stringdata = stringdata 
                   + "#" 
                   + grid.store 
                     .getValue(
                       selectedItem, 
                       "lastname"); 
                 stringdata = stringdata 
                   + "#" 
                   + grid.store 
                     .getValue(
                       selectedItem, 
                       "anualincome"); 



                 require(
                   [ "dojo/_base/xhr" ], 
                   function(
                     xhr) { 

                    xhr.get({ 
                       // The URL to request 
                       url : "http://localhost:8080/GridSampleDojoExample/UpdateServlet", 
                       content : { 
                        name : stringdata 
                       }, 
                       load : function(
                         result) { 
                        alert("The message is: " 
                          + result); 
                       } 
                      }); 

                   }); 
                } 
              }); 
          } 

         } 
        }, "updateRow"); 


      /* dojo.connect(grid, "onCellClick", function (e) { 
       var colField = e.cell.field; // field name 
       var rowIndex = e.rowIndex; // row index 
       alert(colField+rowIndex); 
      }); 

      */ 
      /* grid.on("RowClick", function(evt){ 
        var idx = evt.rowIndex, 
         rowData = grid.getItem(idx); 
        alert(rowData); 
       }, true); 

*/

  /* store.onNew = function(new_item) { 
        var rowIndex = new_item._0;     
        window.setTimeout(function() { 
         grid.focus.setFocusIndex(rowIndex, 0); 
         grid.edit.setEditCell(grid.focus.cell, rowIndex); 
        },10);  

       }; */ 

     }); 

}

+0

grid.on ("CellClick", функция (событие) \t \t \t \t \t { \t \t \t \t \t вар RowId = event.rowIndex; \t \t \t \t grid.selection.setВыбран (rowId, true); \t \t \t \t \t grid.render(); \t \t \t \t \t} События click не работают над сеткой plz help – user2794174

ответ

1

используя плагин селектор в сетке плагин .... я решить мою проблему

selector: { 

    cell: false, 

    col: false 
},