1

サイズ変更後に jqgrid 列の新しい幅を取得したい。そのためには、 resizestop イベントを使用したいと考えています。

次のように私のjqgridコード:

<sjg:grid id="gridtable" caption=" " dataType="json" 
                href="%{listurl}"
                gridModel="listMS_Departments"
                width="200"
                autowidth="true"

                pager="true" 
                pagerInput="true"
                pagerPosition="center"  
                rowList="15,30,50"
                rowNum="15"
                rownumbers="true"
                viewrecords="true"

                hidegrid="false"

                navigator="true"
                navigatorAdd="false"
                navigatorEdit="false"
                navigatorRefresh="false"
                navigatorSearch="false"
                navigatorDelete="false"
                navigatorSearchOptions="{showQuery: false,multipleSearch: false}"
                navigatorEditOptions="{closeAfterEdit:false,reloadAfterSubmit:true}"
                navigatorAddOptions="{
                                          reloadAfterSubmit:true,
                                          afterSubmit:function(response,postdata){
                                          return isError(response.responseText);
                }
                }"
                navigatorExtraButtons="{                            
                            hide : { 
                                title : 'Show/Hide', 
                                icon: 'ui-icon-wrench', 
                                topic: 'showcolumns'
                            }                                       
                        }"    
                onSelectRowTopics="rowselect"

                >
                <sjg:gridColumn id="deptCd" name="id" index="id" title="%{getText('department.code')}" resizable="true"
                    sortable="true" search="true" editable="true" editrules="{required:true,custom:true,custom_func:validateCapitalAlphanumeric}" key="true" editoptions="{maxlength :3}" formoptions="{elmsuffix:'  *'}" />
                <sjg:gridColumn id="deptNm" name="deptNm" index="deptNm" title="%{getText('department.name')}" resizable="true"
                    sortable="true" editable="true" edittype="text" editrules="{required:true}" formatter="String" editoptions="{maxlength :10}" formoptions="{elmsuffix:'  *'}"/>   
            </sjg:grid>

私が次のようにしようとしても:

$('#gridtable_id').jqGrid({

                 resizeStop: function (newwidth,index) {
                 alert($("#gridtable_id").width());
            },

        });

'#gridtable_id'jqgrid 列見出しの ID は、html では<th>タグの ID であることを意味します。サイズ変更後に jqgrid 列の新しい幅を取得するのを手伝ってくれる人はいますか?

4

1 に答える 1

1

新しい幅は、次の2つの方法で取得できます。

方法#1:

resizeStop: function(newwidth, index) {
                 alert(newwidth);
            }

方法2:

resizeStop: function () {
                 alert(this.newWidth);
            }

それが役に立てば幸い!

于 2012-11-22T08:20:14.923 に答える