【问题标题】:How to make selecatable false in kendo ui grid using jQuery如何使用 jQuery 在 kendo ui 网格中使可选项为 false
【发布时间】:2015-07-08 11:26:39
【问题描述】:

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

我有两个网格 第一个网格是可选的 当我对第一个网格进行更改时,第二个网格可选功能应该相应地改变 假设网格行中有两个类别,其中一个行是管理员,另一行是普通用户,那么如果是普通用户,则第二个网格可选应该通过在网格外使用 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();
                }

【问题讨论】:

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


    【解决方案1】:

    可以使用网格的 setOptions 方法

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

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

    DEMO

    【讨论】:

    • 嘿!谢谢先生它的工作......你让我很开心!我是剑道新手,所以我真的被卡住了!!!再次感谢!
    【解决方案2】:

    我尝试使用 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;  
                }
    

    它现在可以工作了,感谢所有访问者。如果有其他解决方案可以提供给我。谢谢。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-30
      • 2013-06-20
      相关资源
      最近更新 更多