在kendo网格中出现columnHide()的问题,Firefox渲染错误

时间:2015-01-29 01:54:53

标签: javascript kendo-ui kendo-grid

我使用的是剑道版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);
            }
        }
    };

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

1 个答案:

答案 0 :(得分:0)

我问他们,这似乎是他们将要研究的Firefox故障。你可以通过这个$(&#34;#gridId&#34;).data(&#34; kendoGrid&#34;)。refresh();来解决它。