【问题标题】:in jqgrid, is there anyway to have an auto calculated width of editGridRow() popup在 jqgrid 中,是否有自动计算宽度的 editGridRow() 弹出窗口
【发布时间】:2011-03-21 13:01:38
【问题描述】:

要在 jqgrid 中编辑一行,我使用 editGridRow。我看到你可以像这样传递一个宽度:

ondblClickRow: function (rowid) {
        jQuery('#grid').editGridRow(rowid, true, { width: 600 });

    }

但是无论如何让jqgrid通过使用“auto”或类似的东西自动计算宽度(基于最大字段长度的宽度)??

【问题讨论】:

  • 好吧,我会告诉你试试{width: 'auto'},但看来你确实试过了?

标签: jquery jqgrid jqmodal


【解决方案1】:

{width: "auto"} 的设置在除 Internet Explorer 之外的所有现代 Web 浏览器中都能正常工作。

以下 CSS 至少在 IE8/IE9 中解决了该问题:

<style type="text/css">
    div.ui-jqdialog-content table.EditTable { width:auto; float:left; }
    form.FormGrid { float:left; width:auto; }
    div.ui-jqdialog-content > span > table.EditTable {
        width:auto; clear: left; float:right
    }
</style>

你会找到相应的演示here

“复古”版IE的解决方案可能更复杂,应该基于直接设置编辑表单不同组件的宽度。基于方式的粗略解决方案是here

【讨论】:

  • @ooo:你好!你测试了我的建议吗?我 4 天前写了我的答案,你没有写任何评论。
  • 道歉奥列格,不知何故我错过了这个。 .
  • Oleg - 如果我需要支持 IE7,您是否看到“粗略解决方案”存在任何问题
  • @leora:答案很老了,必须至少将div.ui-jqdialog-content &gt; span &gt; table.EditTable 更改为div.ui-jqdialog-content&gt;div&gt;table.EditTable 才能在当前版本的jqGrid 中使用它。说实话,我没有客户仍然使用 IE7,所以我尝试只考虑 IE8 和更高版本。在 IE7 中运行的解决方案肯定是可行的,但这不是 2 分钟的工作。
猜你喜欢
  • 2011-10-20
  • 1970-01-01
  • 2012-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多