【问题标题】:Auto sized column in jsGridjsGrid中的自动调整大小的列
【发布时间】: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


【解决方案1】:

在尝试呈现表格之前,必须至少将一列宽度设置为“自动”。 如果未设置宽度,则默认为 100px,从而破坏了所需的外观。

只是我的运气。我在如此琐碎的事情上浪费了一个小时,当我决定在这里提问时,我找到了解决方案并希望删除这个问题的耻辱。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 2013-01-17
    • 2011-05-21
    • 2018-05-06
    • 2011-02-19
    相关资源
    最近更新 更多