jqGrid分组行覆盖";垫片;我在网格中构建的列

jqGrid分组行覆盖";垫片;我在网格中构建的列,jqgrid,jqgrid-asp.net,mvcjqgrid,Jqgrid,Jqgrid Asp.net,Mvcjqgrid,当我将分组添加到网格中时,除了一个问题外,效果非常好。包含分组信息的行是使用colspan作为网格的“宽度”构建的,这意味着它位于我构建到网格中的一些垂直列的顶部,以帮助添加可视分隔 有没有办法让这一行不跳过那一列,这样我就可以在网格中的各个部分之间保持良好的视觉间隔 更新: 我通过以下方法步骤添加这些垂直“间隔”柱: -在jqGrid设置中 beforeProcessing: function (data, status, xhr) { //add the spaces

当我将分组添加到网格中时,除了一个问题外,效果非常好。包含分组信息的行是使用colspan作为网格的“宽度”构建的,这意味着它位于我构建到网格中的一些垂直列的顶部,以帮助添加可视分隔

有没有办法让这一行不跳过那一列,这样我就可以在网格中的各个部分之间保持良好的视觉间隔

更新: 我通过以下方法步骤添加这些垂直“间隔”柱: -在jqGrid设置中

    beforeProcessing: function (data, status, xhr) {
        //add the spaces to the returned data to allow for the blank vertical columns in the grid
        for (var x = 0, length = data.rows.length; x < length; x++) {
            data.rows[x].cell.splice(6, 0, "");
        } //for
    }, //beforeProcessing
-css


如果我正确理解您需要什么,您必须修改
loadComplete
中的分组行。例如,它是从的修改,显示以下网格

代码非常简单:

loadComplete:函数(){
var$groupingHeaders=$(this.find(“>tbody>tr.jqgroup”);
$groupingHeaders.find(“>td”).addClass(“noVerticalLines”).attr(“colspan”,“1”);
$groupingHeaders.append(“”)+
" " +
" " +
" ");
}
其中,类
noHorizLines
noVerticalLines
上的CSS定义为

.ui jqgrid tr.ui-row-ltr td.noVerticalLines{边框右侧颜色:透明;}
.ui jqgrid tr.ui-row-ltr td.noHorizLines{边框底色:透明;}

同样,您也可以修改上述代码以产生一些其他效果(在您想要得到它的地方有水平线或垂直线)。

您应该提供一个演示(例如),重现问题。您谈到了“间隔”列,但不清楚您是如何实现这些列的。@Oleg我更新了更多详细信息,我会在某个时候将该方法基于您的文章的组合,Oleg,它们在开始使用分组时只注意到了一个小问题,效果非常好。如果上面没有给出完整的图片,我可能会尝试抛出一个JSFIDLE示例。好的,我现在提醒我关于封闭问题,但我仍然不确定您希望分组行的外观如何。是否希望“空”列中的行之间没有水平线?行处于折叠状态如何?@Oleg一个完美的结果将是一个两边都有边框的完整垂直列(因为我正在寻找列之间的视觉中断)。我会满足于至少一个在垂直间隔列上没有底部边框的组行。嗯,这似乎是正确的路径,唯一剩下的诀窍是我有一个按钮,可以根据用户偏好切换多个列的可见性。你看到了解决方法吗?同样,非常感谢你一直以来的支持马克:对不起,我不明白你说的“一个根据用户偏好切换多个列可见性的按钮”是什么意思。你到底有什么问题?我只是发布了一个添加
元素的示例(请参见
$groupingHeaders.append
)。您可以根据
colModel
、列
emptyX
以及当前哪些列具有
hidden:true
属性来动态生成内容。我打开和关闭列的可见性,这会弄乱上面的代码。我想答案是编写一些更改,删除并添加行设置基于其他行的可见性设置。再次感谢您的帮助。@马克:我使用非常简单的名称转换。简单的JavaScript变量和包含DOM元素的变量没有$prefix。只有DOM元素的jQuery包装器有$prefix。例如,
loadComplete
中的这个变量是
的DOM元素。所以我会使用
var self=this;
,但我会使用
var$self=$(this);
。这样的名称转换简化了用法。我会使用
$(self)。find(“>tbody>tr”)
但是
$self.find(“>tbody>tr”)
{ name: "empty1" ,width: 10, sortable: false, hidedlg: true, search: false, resizable: false, fixed: true, classes: 'NoHorizontalGridBorders' },
.NoHorizontalGridBorders { border-bottom-color: transparent !important; background-color: White !important;}