手动更改宽度后调整jqgrid列的大小

手动更改宽度后调整jqgrid列的大小,jqgrid,Jqgrid,我有一个函数,可以手动设置jqgrid列的宽度。如果在此之后我想使用调整大小控制柄,它会相对于原始宽度大小添加或减少相对大小。所以它没有看到我的新宽度作为基础。我尝试将宽度和with org放入colModel中,但没有成功 我有一个单击处理程序,在该处理程序中,我可以在单击时将列调整到某个宽度。我设置了thTroughtJS的宽度。在此之后,我希望能够使用.ui jqgrid resize元素调整列的大小 我的代码的简短版本,例如th宽200px: $('th').dblclick(funct

我有一个函数,可以手动设置
jqgrid
列的宽度。如果在此之后我想使用调整大小控制柄,它会相对于原始宽度大小添加或减少相对大小。所以它没有看到我的新宽度作为基础。我尝试将
宽度
with org
放入
colModel
中,但没有成功

我有一个单击处理程序,在该处理程序中,我可以在单击时将列调整到某个宽度。我设置了
th
TroughtJS的宽度。在此之后,我希望能够使用
.ui jqgrid resize
元素调整列的大小

我的代码的简短版本,例如
th
宽200px:

$('th').dblclick(function(){
   $(this).width('100px');
});

用户双击后,
th
变小为
100px
,用户使用调整大小手柄来加宽
th
10px
。预期结果是
th
110px
宽度,但
th
跳到
210px
宽度。它将用户想要添加的
10px
添加到原始状态,而不是我用双击设置的状态。

我建议您使用我之前编写的插件中的
setColWidth
方法来更改网格列的宽度(请参阅)。您可以从下载插件的当前版本


如果您试图根据列内容的宽度设置列的宽度,那么我建议您查看created for并阅读。我不认为建议的代码是最终的解决方案,但演示展示了我对问题的看法以及实现“autowidth”功能的方法。

您在“我手动设置jqgrid列的宽度”和“在此之后要使用调整大小手柄”下的意思是什么?你到底在哪种情况下做什么?如何“手动设置列的宽度”?您是否编写了回调的代码
resizeStop
并需要一些其他信息?问题更新是否有帮助?抱歉,但我仍然不理解您的目标。您写道“我希望能够使用.ui jqgrid resize元素”。这不可能是你的目标。您可以随时“使用元素”,但您想要实现什么?为什么你要“设置th的宽度”?jqGrid已经做到了。用户调整列的大小后,您还想调整什么?手动重置列宽后,通过调整大小手柄进行的大小更改将关闭。它不会相对于当前(手动设置)宽度调整大小,而是相对于手动设置之前的宽度。假设宽度是100px,我手动将其更改为200px,向右拖动手柄10px将使列跳回110px宽,而不是210px。对不起,我听不懂。你经常写“我手动设置”、“我手动更改”。我不明白你的意思。如果您是开发人员,那么用户可以调整列宽,您可以编写一些额外的JavaScript代码,然后执行这些代码。例如,您可以在
resizeStop
回调中编写代码。如果列大小为100px,并且用户明确地将其增加到110px,那么为什么要将其更改为210px?我看不出这有什么意义。如果你想在你的问题后面加上一些你用过的代码,你可能会更好地理解你。使用
setColWidth
方法可以做到这一点,你能解释一下为什么吗?是Draged吗?@LaurensKling:正如我之前写的,你需要改变jqGrid的许多内部结构来改变列宽。如果用户调整列的大小,则将调用树方法
dragStart
dragMove
dragEnd
。使用某些属性作为输入(设置
dragStart
dragMove
)。因此,我只需填充相同的输入属性,然后调用
dragEnd
,它可以通过
this.grid
访问(请参阅)。这是我找到的最好的方法。