【问题标题】:How to restrict max height of jqGrid edit and view windows如何限制 jqGrid 编辑和查看窗口的最大高度
【发布时间】:2011-12-07 16:13:56
【问题描述】:

jqGrid 包含带有很多行的文本区域。 在这种情况下,编辑和查看窗口高度太大。这些窗口呈现在屏幕外,底部行不可见。

如何限制这些窗口高度,以便它们始终适合屏幕和强制 滚动条出现在 nessecary 中?

我发现限制 textarea 高度的答案,但我正在寻找一种方法来限制整个窗口的高度,并在必要时强制在窗口中显示滚动条。

我试过了

jQuery.extend(jQuery.jgrid.edit, {
  maxheight: 0.82* screen.height,
  dataheight: height-60
  } );

jQuery.extend(jQuery.jgrid.view, {
  maxheight: 0.82* screen.height,
  dataheight: height-60
  } );

但这并不限制最大高度。

【问题讨论】:

    标签: jqgrid


    【解决方案1】:

    在我看来,在表单上设置"max-height" 应该可以解决问题:

    beforeShowForm: function ($form) {
        $form.css({"max-height": 0.70*screen.height+"px"});
    }
    

    the demo。因为我没有太多“textarea”类型的列,所以我只是将一列的高度设置为较大的值,以验证您需要的 表单的最大高度。顺便说一下,我无法测试小型编辑表单的高度,但视图表单的高度与设置无关。

    【讨论】:

    • 非常感谢。它在大多数表中都可以正常工作。在视图表单中的一个表格中,textarea 内的每次点击以及 IE9 中的其他一些地方都会增加表单高度(FireFox 没有这个问题)。您的示例中使用的样式也会从 textarea 行中删除行尾。
    • @Andrus:IE9 中的问题看起来像 IE,但我描述了here。如果您将height: "auto" 样式替换为height: "100%",则可以修复它。问题是您应该动态地执行此操作,我认为在beforeShowForm 中。而且我不能确切地说您应该在 which HTML 元素处进行更改,因为我没有看到所描述的问题。
    • 谢谢。根据您链接中的托尼回复,这是固定的。我不知道具体要改变什么。如果您有兴趣,我可以尝试创建可用于重现问题的 url。
    • 如何强制查看和编辑窗口在浏览器窗口中垂直居中?当前使用Top:5 参数将窗口置于固定位置。窗口高度可以不同,因此无法使用硬编码的 Top 值。
    • @Andrus:您可以使用不同的方法来实现这一点。此外,您不应该忘记另一个问题,即您有很多行的长网格,如果您向下滚动然后单击删除/添加或编辑按钮,则会在 顶部 或页面上创建相应的表单,因此用户可能需要滚动回页面顶部才能看到对话框表单。查看树的旧答案:thisthisthis。您可以根据自己的要求修改演示。
    猜你喜欢
    • 2011-09-28
    • 2014-05-21
    • 2018-12-11
    • 2023-02-18
    • 1970-01-01
    • 1970-01-01
    • 2018-03-08
    • 2015-04-07
    • 1970-01-01
    相关资源
    最近更新 更多