【发布时间】:2019-02-28 11:52:56
【问题描述】:
我正在玩 jsGrid,只有一个问题需要解决: 当我定义网格列时,我为除一列之外的所有列指定宽度。
fields: [
{ name: "Name", type: "text", title: "Naziv" },
{ name: "Mbs", type: "text", width: 24, title: "MBS" },
{ name: "PB", type: "text", width: 23, title: "PB" },
{ name: "OIB", type: "text", width: 34, title: "OIB" },
{ name: "Country", type: "text", width: 35, title: "Država" },
{ name: "City", type: "text", width: 35, title: "Grad" },
{ name: "ActiveFrom", type: "text", width: 28, title: "Od" },
{ name: "ActiveTo", type: "text", width: 28, title: "Do" },
{ name: "Active", type: "checkbox", width:10, title: "A" }
],
问题是第一个字段设置为100px,然后浏览器根据指定的宽度计算所有列的宽度,导致浏览器窗口宽度变化时列宽发生变化。
我尝试将该列宽设置为“auto”和“*”,但随后该列占表格的 90%,其他列的宽度为 10px(但 css 显示我之前定义的宽度)
有人知道这个问题的解决方法吗?
【问题讨论】:
-
我会用百分比指定宽度(宽度:“20%”)?然后加起来 100%
-
那仍然不能解决问题,因为行为是一样的。预期的行为是具有指定宽度值的列是固定宽度,没有指定值的列由浏览器决定(留下一列未指定宽度将导致该列填充剩余的表空间)
-
啊,好吧,我知道你的意思。您是否尝试将宽度指定为 width: "24px" 而不是数字?
-
jsGrid 附加 px。但为了安全起见,我尝试将宽度设置为“22px”(每列使用指定值)
-
嗯,也许一个肮脏的解决方案是在“onDataLoaded”方法中通过Javascript设置宽度。
标签: javascript jquery jsgrid