需要改变jqgrid的位置

时间:2012-11-12 07:12:36

标签: jquery asp.net css jqgrid

我必须将jqgrid放在一个不同的位置而不是默认的左上角位置。我尝试了一些东西,但它不起作用。我在这里包含了我的代码.Plz检查并给我一个解决方案..

这是html代码:

<div>
    <table id="table" style="border-spacing: 7px 7px; margin-left: 5px">
        <tr>
            <td>
                <input style="margin-left: 10px;" type="button" value="Add" id="btn_addusers" />
            </td>
        </tr>
    </table>
    <table id="users_grid" style="left: 300px">
    </table>
</div>

这是我的js代码:

$(document).ready(function() {
    $("#btn_addusers").click(function() {
        $("#users_grid").clearGridData(true).trigger("reloadGrid");
        $("#users_grid").jqGrid({
            datatype: "local",
            height: 'auto',
            width: 'auto',
            colNames: ['User ID', 'User Name'],
            colModel: [
        { name: 'userid', width: 60 },
        { name: 'username', width: 120 }

    ],

            caption: "Users in Private space"
        });
        var mydata = [
        { userid: "312171", username: "D, Gnana Xavier" },
        { userid: "311763", username: "Sangeetha" },
        { userid: "312185", username: "Amrutha" },
        { userid: "312186", username: "Ramesh" }
        ];
        for (var i = 0; i <= mydata.length; i++)
            $("#users_grid").jqGrid('addRowData', i + 1, mydata[i]);

    });
});

2 个答案:

答案 0 :(得分:3)

jqGrid在table元素上创建了许多附加的外部 div。因此,您应该将<table>元素放在<div>内,并且可以使用外部div的样式来更改表的位置。例如

<div style="margin-left: 300px">
    <table id="users_grid"></table>
</div>

答案 1 :(得分:3)

好像@aristos建议的那样。我想解释一下我的答案 用户位置= div中的相对值如下

<div style="position:relative;">
    <table id="table" style="border-spacing: 7px 7px; margin-left: 5px">
       <tr>
          <td>
            <input style="margin-left: 10px;" type="button" value="Add" id="btn_addusers" />
          </td>
       </tr>
     </table>
    <table id="users_grid" style="left: 300px;position:absolute!important;">
    </table>
</div>

请注意

如果父容器的位置是相对的位置:相对
并且内容的位置是绝对然后它可以在容器中移动。
现在您可以使用顶部 attribut来移动表格。
但它不会超出div。