在剑道网格中 columnHide() 的问题,Firefox 渲染错误



我使用剑道版本v2014.2.716。

我有一个大约 10 列的网格。并具有在页面加载时隐藏列的功能,具体取决于复选框列表。我的网格有一个行模板,在 chrome 和 IE 上运行时一切正常,但在 Firefox(我使用 Firefox 35.0)中,标题和列没有对齐在一起。

这是我的行试探:

<script id="rowTemplate" type="text/x-kendo-tmpl">
    # var columns = $("#grid").data("kendoGrid").columns; #
       <tr data-uid="#: uid #">
                <td >
                #var resultFlagReply=GetTypeReply(IssuesID)#
                #var resultIconAttach=HaveIssueAttach(IssuesID,CreatedDate)#
                <p><span style="float:left;">#=resultIconAttach#</span> <span style="float:right;">#=resultFlagReply#</span></p>
       </td>
       <td class="IssuesID" #:columns[1].hidden ? 'style=display:none ' : '' #>
                    #: IssuesID #
       </td>
       <td title="#: Title #" class="ShortTitle" #:columns[2].hidden ? 'style=display:none' : '' #>
       #: ShortTitle #
       </td>
                <td class="CustomerName" #:columns[3].hidden ? 'style=display:none' : '' #>
       #: CustomerName #
       </td>
       <td class="SKU" #:columns[4].hidden ? 'style=display:none' : '' #>
          #: SKU #
       </td>
                <td class="SupportOptionName" #:columns[5].hidden ? 'style=display:none' : '' #>
          #: SupportOptionName #
       </td>
                <td class="CaseReasonName" #:columns[6].hidden ? 'style=display:none' : '' #>
          #: CaseReasonName==null?"":CaseReasonName #
       </td>
                <td class="TicketStatusName" #:columns[7].hidden ? 'style=display:none' : '' #>
          #: TicketStatusName #
       </td>
                <td class="CreatedDate"  #:columns[8].hidden ? 'style=display:none' : '' #>
           #=kendo.format("{0:MM-dd-yyyy}", CreatedDate)#
       </td>
                <td class="DueDate" #:columns[9].hidden ? 'style=display:none' : '' #>
          #=kendo.format("{0:MM-dd-yyyy}", DueDate)#
       </td>
                <td class="AssignedToSupport" #:columns[10].hidden ? 'style=display:none' : '' #>
          #: AssignedToSupport #
       </td>
                <td class="Command">
                    #var resultAlert=GetStatusAlert(IssuesID)#
          <a href="\#" onclick="onBugClick(#: IssuesID #)" Title="Post Bug"><img src="Images/iconBug.png" /></a>
                   <a href="\#" onclick="onAlert(#: IssuesID #)" Title="Alert Me"><img id="img#: IssuesID #" src="#=resultAlert#" /></a>
                   <a href="\#" onclick="onDiscussClick(#: IssuesID #)" Title="Discuss"><img src="Images/iconDiscuss.png" /></a>
       </td>
      </tr>
</script>

这是我隐藏列的功能:

function GetVisibleColumn() {
        var cbList = document.getElementById("<%=cblSelectFields.ClientID%>");
        var grid = $('#grid').data('kendoGrid');
        var checkbox = cbList.getElementsByTagName("input");
        var label = cbList.getElementsByTagName("label");
        for (var i = 0; i < checkbox.length; i++) {
            if (!checkbox[i].checked) {
                var field = GetFieldName(label[i].innerHTML);
                grid.hideColumn(field);
            }
        }
    };

此问题仅在第一次页面加载时发生,排序或分页后运行良好。

我问他们,这似乎是他们会调查的Firefox故障。你可以通过这样做来解决它 $( "#gridId" ).data( "kendoGrid" ).refresh();

最新更新