如何使用jQuery在kendo ui网格中制作可选择的false

时间:2015-07-08 11:26:40

标签: jquery jquery-ui kendo-ui kendo-grid

如果可以使用jquery将kendo ui grid的可选属性设置为false,请告诉我。

我有两个网格第一个网格可选择当我对第一个网格进行更改时,第二个网格可选功能应相应更改 假设网格行中有两个类别,其中一行是admin,另一行是普通用户,那么如果是普通用户,第二个网格可选择应该通过在网格外使用jquery来实现......

`jQuery("#usersMatterList").kendoGrid({
                    dataSource: usersMatterDataSource,
                    autobind:false,
                    filterable: true,
                    sortable: true,
                    pageable: false,
                    resizable: true,
                    selectable : true,
                    scrollable: true,
                    change : function(e){
                      var selectedItem = this.dataItem(this.select());

                      if(selectedItem.id != null){
                        globalCaseId = selectedItem.id;
                        updateAllPermissionComboboxes(globalCaseId);
                      }
                    },
                    columns: [
                      { 
                        name : 'id', 
                        field : 'id', 
                        hidden : true
                      },
                      { 
                        name : 'name', 
                        field : 'name', 
                        align: "left"
                      },
                      { 
                        name : 'deleteIcon', 
                        field : 'deleteIcon', 
                        align: 'left',
                        title: 'Delete',
                        template: function (cellvalue) {
                          return "<span class='deleteIconClass'><img border='0' src='${resource(dir: 'images', file: 'close_icon9x8.png')}' alt='Delete' title='Delete' style='cursor: pointer'/></span>";
                        },
                        width:25,
                        hidden: true
                      },
                    ],
                    dataBound: function(e) {
                        jQuery(".deleteIconClass").click(function(evt){
                            e.preventDefault();
                            deleteAskKendoWindow.data("kendoWindow").center().open();
                        });
                        //console.log(this.selectable);
                        if(this.options.selectable){

                          this.select(e.sender.tbody.find("tr:first"));
                        }

                    }
                    //filterMenuInit: onFilterMenuInit
                }).data("kendoGrid");`

我试图以下面显示的方式进行更改

if(user.companyAdmin || user.siteAdmin){

                  //jQuery("#usersMatterList").find('table').removeClass("k-selectable");
                  //jQuery("#usersMatterList").data("kendoGrid").options.selectable = false;
                  //
                  //jQuery("#usersMatterList").removeClass('k-selectable');   

                  //jQuery("#usersMatterList").data("kendoGrid").dataSource.read(); 
                  //ugrid.refresh();
                  //jQuery("#usersMatterList").data("kendoGrid").refresh();
                }else if(!user.companyAdmin || !user.siteAdmin) {
                  //jQuery("#usersMatterList").find('table').addClass("k-selectable");
                  //jQuery("#usersMatterList").addClass('k-selectable');  
                  //jQuery("#usersMatterList").data("kendoGrid").options.selectable = true;
                  //grid.refresh();
                  //jQuery("#usersMatterList").data("kendoGrid").refresh();
                }

2 个答案:

答案 0 :(得分:4)

您可以使用网格的setOptions方法

http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#methods-setOptions

var grid = $("#usersMatterList").data("kendoGrid");
grid.setOptions({
    selectable: false
});
  

<强> DEMO

答案 1 :(得分:0)

我尝试使用jQuery-ui

禁用

我实际上删除了kendo ui网格添加k-selectable

的类
if(user.companyAdmin == 1 || user.siteAdmin){

              jQuery("#usersMatterList").removeClass("k-selectable");
              jQuery("#usersMatterList").find("tr").removeClass("k-state-selected");

              //jQuery("#usersMatterList").data("kendoGrid").dataSource.read();
              //jQuery("#usersMatterList").data("kendoGrid").options.selectable = false;
            }
            else
            {
              jQuery("#usersMatterList").addClass("k-selectable");
              //jQuery("#usersMatterList").data("kendoGrid").options.selectable = true;  
            }

它的工作现在感谢所有访客。如果有任何其他解决方案可以提供给我。谢谢。