- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有子网格的网格。在网格初始化期间,我的高度设置为“自动”,但我还在初始化后设置了它的最大高度,这样如果高度超过“500px”我就可以有垂直滚动条。我不需要水平滚动条,我已经为它定义了 css 规则:
overflow-x: hidden;
overflow-y: auto;
scrollOffset 为默认值,即 18px。但是,当我的网格展开以显示子网格时,scollbar 在最后一列中可见,而不是在 scrollbarOffset 列中显示。
在下图中,滚动条位于最后一列的内部:
但在它下面表示 scrollOffset 及其在最后一列的外部:
如果达到最大高度,我希望我的滚动条位于 scrollbarOffset 列中。
请关注test我从某人的测试中创建来重现我的问题。
我的实际网格设置为“shrinkToFit”并且隐藏了 overflow-x(用于其他目的)。除此之外, fiddle 描述了我的场景。
欢迎提出任何建议或意见。谢谢
$("#grid").jqGrid({
datatype: "local",
height: 'auto',
colNames: ['Inv No', 'Thingy', 'Blank', 'Number', 'Status'],
colModel: [{
name: 'id',
index: 'id',
width: 60,
sorttype: "int"},
{
name: 'thingy',
index: 'thingy',
width: 90,
sorttype: "date"},
{
name: 'blank',
index: 'blank',
width: 30},
{
name: 'number',
index: 'number',
width: 80,
sorttype: "float"},
{
name: 'status',
index: 'status',
width: 80,
sorttype: "float"}
],
pager: 'pagerId',
caption: "Stack Overflow Subgrid Example",
subGrid: true,
subGridOptions: { "plusicon" : "ui-icon-triangle-1-e",
"minusicon" :"ui-icon-triangle-1-s",
"openicon" : "ui-icon-arrowreturn-1-e",
"reloadOnExpand" : false,
"selectOnExpand" : true },
subGridRowExpanded: function(subgrid_id, row_id) {
var subgrid_table_id, pager_id; subgrid_table_id = subgrid_id+"_t";
pager_id = "p_"+subgrid_table_id;
$("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>");
$("#"+subgrid_table_id).jqGrid({
datatype: "local",
colNames: ['No','Item','Qty'],
colModel: [ {name:"num",index:"num",width:80,key:true},
{name:"item",index:"item",width:130},
{name:"qty",index:"qty",width:70,align:"right"}],
rowNum:20,
pager: pager_id,
sortname: 'num',
sortorder: "asc", height: '100%' });
$("#"+subgrid_table_id).jqGrid('navGrid',"#"+pager_id,{edit:false,add:false,del:false});
var subNames = ["num", "item", "qty"];
var mysubdata = [];
for (var i = 0; i < subgridData.length; i++) {
mysubdata[i] = {};
for (var j = 0; j < subgridData[i].length; j++) {
mysubdata[i][subNames[j]] = subgridData[i][j];
}
}
for (var i = 0; i <= mysubdata.length; i++) {
$("#"+subgrid_table_id).jqGrid('addRowData', i + 1, mysubdata[i]);
}
}
});
最佳答案
抱歉,但我想知道您从哪里得到如此糟糕的代码示例!我多次看到这个例子有很多变化。真的很糟糕。
jsfiddle 演示中的主要问题:使用不需要的 CSS 规则,这是滚动条问题的根源。
我将演示修改为以下http://jsfiddle.net/OlegKi/MZ9ue/2529/ .它使用以下格式的输入数据:
var mydata = [
{
id: 48803, thingy: "DSK1", number: "02200220", status: "OPEN",
subgridData: [
{num: 1, item: "Item 1", qty: 3},
{num: 2, item: "Item 2", qty: 5}
]
},
{
id: 48769, thingy: "APPR", number: "77733337", status: "ENTERED",
subgridData: [
{num: 3, item: "Item 3", qty: 5},
{num: 2, item: "Item 2", qty: 10}
]
}
];
所以主数据的每一行都包含子网格数据的信息。显示主网格和子网格的代码如下所示。
$("#grid").jqGrid({
datatype: "local",
data: mydata,
height: 'auto',
colNames: ['Inv No', 'Thingy', 'Number', 'Status'],
colModel: [
{ name: 'id', width: 60, sorttype: "int", key: true},
{ name: 'thingy', width: 90},
{ name: 'number', width: 80, formatter: "integer" },
{ name: 'status', width: 80}
],
gridview: true,
autoencode: true,
pager: '#pagerId',
caption: "Stack Overflow Subgrid Example",
subGrid: true,
subGridOptions: {
plusicon: "ui-icon-triangle-1-e",
minusicon: "ui-icon-triangle-1-s",
openicon : "ui-icon-arrowreturn-1-e"
},
subGridRowExpanded: function(subgrid_id, row_id) {
var subgrid_table_id = subgrid_id+"_t",
pager_id = "p_"+subgrid_table_id,
localRowData = $(this).jqGrid("getLocalRow", row_id);
$("#"+subgrid_id).html("<table id='"+subgrid_table_id+"'></table><div id='"+pager_id+"'></div>");
$("#"+subgrid_table_id).jqGrid({
datatype: "local",
data: localRowData.subgridData,
colNames: ['No', 'Item', 'Qty'],
colModel: [
{ name: "num", width: 80, key: true },
{ name: "item", width: 130 },
{ name: "qty", width: 70, align: "right" }
],
rowNum: 20,
idPrefix: "s_" + row_id + "_",
pager: "#" + pager_id,
autowidth: true,
gridview: true,
autoencode: true,
sortname: "num",
sortorder: "asc",
height: "auto"
}).jqGrid('navGrid', "#" + pager_id, {edit: false, add: false, del: false});
}
});
它正确显示数据并显示 jqGrid 用法的正确示例。
已更新:如果我正确理解了您的问题,您可以在演示中做类似的事情 http://jsfiddle.net/OlegKi/MZ9ue/2530/ :
我添加了 jqGrid 选项
shrinkToFit: false,
width: 377,
这样网格的总宽度将是所有列的宽度的总和加上滚动条的位置。可以使用 setGridWidth
将 shrink
选项设置为 false
来动态设置值。然后我添加了行
$('#grid').closest('div.ui-jqgrid-bdiv').css("max-height", "220px");
在网格的 body div 上设置 max-height
最后我添加了 CSS 规则
.ui-jqgrid .ui-jqgrid-bdiv {
overflow-y: scroll
}
作为结果会有结果
最初和之后的
打开子网格后。
更新 2: 可以不使用 shrinkToFit: false
和 width: 377
选项,而是使用以下代码:
var $bDiv = $('#grid').closest('div.ui-jqgrid-bdiv'),
clientWidth = $bDiv[0].clientWidth, //$bDiv.width(),
scrollWidth = $bDiv[0].scrollWidth,
scrollBarWidth = $bDiv[0].scrollWidth - $bDiv[0].clientWidth;
$('#grid').jqGrid("setGridWidth", scrollWidth + scrollBarWidth, false);
关于javascript - Jqgrid 垂直滚动条显示在网格最后一列的内部,而不是在 scrollbarOffset 列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28281216/
我正在 csv 上使用 hadoop 来分析一些数据。我使用sql/mysql(不确定)来分析数据,现在陷入了僵局。 我花了好几个小时在谷歌上搜索,却没有找到任何相关的东西。我需要一个查询,在该查询中
我正在为 Bootstrap 网格布局的“简单”任务而苦苦挣扎。我希望在大视口(viewport)上有 4 列,然后在中型设备上有 2 列,最后在较小的设备上只有 1 列。 当我测试我的代码片段时,似
对于这个令人困惑的标题,我深表歉意,我想不出这个问题的正确措辞。相反,我只会给你背景信息和目标: 这是在一个表中,一个人可能有也可能没有多行数据,这些行可能包含相同的 activity_id 值,也可
具有 3 列的数据库表 - A int , B int , C int 我的问题是: 如何使用 Sequelize 结果找到 A > B + C const countTasks = await Ta
我在通过以下功能编写此查询时遇到问题: 首先按第 2 列 DESC 排序,然后从“不同的第 1 列”中选择 只有 Column1 是 DISTINCT 此查询没有帮助,因为它首先从第 1 列中进行选择
使用 Bootstrap 非常有趣和有帮助,目前我在创建以下需求时遇到问题。 “使用 bootstrap 在桌面上有 4 列,在平板电脑上有 2 列,在移动设备上有 1 列”谁能告诉我正确的结构 最佳
我是 R 新手,正在问一个非常基本的问题。当然,我在尝试从所提供的示例中获取指导的同时做了功课here和 here ,但无法在我的案例中实现这个想法,即可能是由于我的问题中的比较维度更大。 我的实
通常我会使用 R 并执行 merge.by,但这个文件似乎太大了,部门中的任何一台计算机都无法处理它! (任何从事遗传学工作的人的附加信息)本质上,插补似乎删除了 snp ID 的 rs 数字,我只剩
我有一个 df , delta1 delta2 0 -1 2 0 -1 0 0 0 我想知道如何分配 delt
您好,我想知道是否可以执行以下操作。显然,我已经尝试在 phpMyAdmin 中运行它,但出现错误。也许还有另一种方式来编写此查询。 SELECT * FROM eat_eat_restaurants
我有 2 个列表(标题和数据值)。我想要将数据值列 1 匹配并替换为头文件列 1,以获得与 dataValue 列 1 和标题值列 2 匹配的值 头文件 TotalLoad,M0001001 Hois
我有两个不同长度的文件,file2 是一个很大的引用文件,我从中提取文件 1 的数据。 我有一行 awk,我通常会对其进行调整以在我的文件中进行查找和替换,但它总是在同一列中进行查找和替换。 所以对于
假设我有两个表,如下所示。 create table contract( c_ID number(1) primary key, c_name varchar2(50) not
我有一个带有 varchar 列的 H2 表,其检查约束定义如下: CONSTRAINT my_constraint CHECK (varchar_field <> '') 以下插入语句失败,但当我删
这是最少量的代码,可以清楚地说明我的问题: One Two Three 前 2 个 div 应该是 2 个左列。第三个应该占据页面的其余部分。最后,我将添加选项来隐藏和
在 Azure 中的 Log Analytics 中,我为 VM Heartbeat 选择一个预定义查询,我在编辑器中运行查询正常,但当我去创建警报时,我不断收到警报“查询未返回 TimeGenera
在 Azure 中的 Log Analytics 中,我为 VM Heartbeat 选择一个预定义查询,我在编辑器中运行查询正常,但当我去创建警报时,我不断收到警报“查询未返回 TimeGenera
今天我开始使用 JexcelApi 并遇到了这个:当您尝试从特定位置获取元素时,不是像您通常期望的那样使用sheet.getCell(row,col),而是使用sheet.getCell(col,ro
我有一个包含 28 列的数据库。第一列是代码,第二列是名称,其余是值。 public void displayData() { con.Open(); MySqlDataAdapter
我很沮丧:每当我缩小这个网页时,一切都变得一团糟。我如何将网页居中,以便我可以缩小并且元素不会被错误定位。 (它应该是 2 列,但所有内容都合并为 1)我试过 但由于某种原因,这不起作用。 www.o
我是一名优秀的程序员,十分优秀!