You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在两行布局下将jqxGrid表格移至屏幕最右侧

如何在两行布局下将jqxGrid表格移至屏幕最右侧

我明白你的需求啦——现在你的jqxGrid和顶部的下拉、输入框挤在同一行中间,你想把它挪到屏幕最右侧,同时保持两行布局的结构对吧?咱们可以通过调整Flex布局的属性来实现这个效果,很简单的!

问题分析

你当前的.row样式设置了justify-content: center,这会让所有子元素都居中排列,导致表格没办法独立靠右。咱们只需要针对第一行布局做微调,就能让表格自动“靠”到最右边。

具体修改方案

1. 调整HTML结构

给第一行的div.row添加一个专属类名row-top,方便我们单独控制它的布局:

<div class="row row-top">
  <!-- 原有内容不变 -->
</div>

2. 更新CSS样式

修改Flex布局属性,让表格所在的区块自动靠右:

.row {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

/* 新增:单独控制第一行布局 */
.row-top {
  justify-content: flex-start; /* 子元素从左侧开始排列 */
  align-items: flex-start; /* 让表格和输入框顶部对齐 */
}

/* 让表格所在的block自动靠右 */
.row-top .block:last-child {
  margin-left: auto;
}

.block {
  padding: 5px 1%;
}

input {
  display: block;
  height: 22px; /* 和select保持同高 */
  border-radius: 4px;
}

input[type="submit"] {
  height: 28px; /* 和select、输入框保持同高 */
  margin-right: 100px
}

select {
  width: 150px; /* 完整显示下拉选项文本 */
}

/* 可选:给表格设置合适的宽度,避免超出 */
#jqxgrid {
  width: 500px;
}

3. 完整代码示例

<link href="https://jqwidgets.com/public/jqwidgets/styles/jqx.energyblue.css" rel="stylesheet" />
<link href="https://jqwidgets.com/public/jqwidgets/styles/jqx.base.css" rel="stylesheet" />
<link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<script src="https://jqwidgets.com/public/jqwidgets/jqx-all.js"></script>
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>

<div class="row row-top">
  <div class="block">
    <label class="label" for="startLane">Select Dropdown:</label>
    <select name="seqlineupspendinglist">
      <option value="-">--Please Select--</option>
    </select>
  </div>
  <div class="block">
    <label class="label" for="startLane">Starting Lane #:</label>
    <input type="text" id="startLane" name="startLane" />
  </div>
  <div class="block">
    <label class="label" for="endLane">Ending Lane #:</label>
    <input type="text" id="endLane" name="endLane" />
  </div>
  <div class="block">
    <input type="submit" value="Show Cases" />
  </div>
  <div class="block">
    <div>
      <label class="label">Information:</label>
    </div>
    <div>
      <div id="jqxgrid"></div>
    </div>
  </div>
</div>

<div class="row">
  <div class="block">
    <label class="label" for="startLane">Second Row Test</label>
    <input type="text" id="startLane" name="startLane" />
  </div>
  <div class="block">
    <label class="label" for="startLane">Second Row Test</label>
    <input type="text" id="startLane" name="startLane" />
  </div>
  <div class="block">
    <label class="label" for="endLane">Second Row Test</label>
    <input type="text" id="endLane" name="endLane" />
  </div>
</div>
.row {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.row-top {
  justify-content: flex-start;
  align-items: flex-start;
}

.row-top .block:last-child {
  margin-left: auto;
}

.block {
  padding: 5px 1%;
}

input {
  display: block;
  height: 22px;
  border-radius: 4px;
}

input[type="submit"] {
  height: 28px;
  margin-right: 100px
}

select {
  width: 150px;
}

#jqxgrid {
  width: 500px;
}
$('[name="seqlineupspendinglist"]').select2();

var source = {
  localdata: "",
  datafields: [{
    name: 'Name',
    type: 'string'
  }, {
    name: 'Color',
    type: 'string'
  }, {
    name: 'plateName',
    type: 'string'
  }, {
    name: 'date',
    type: 'date'
  }],
  datatype: "array"
};

var adapter = new $.jqx.dataAdapter(source);
$("#jqxgrid").jqxGrid({
  width: 500,
  theme: 'energyblue',
  source: adapter,
  sortable: true,
  ready: function() {
    $("#jqxgrid").jqxGrid('selectrow', 0);
    $('#jqxgrid').jqxGrid('focus');
  },
  columns: [{
    text: 'Name',
    datafield: 'Name',
    columngroup: 'Name',
    width: 90
  }, {
    text: 'Color',
    columngroup: 'Color',
    datafield: 'Color',
    width: 90
  }, {
    text: 'Plate Name',
    datafield: 'plateName',
    width: 170
  }, {
    text: 'Date',
    datafield: 'date',
    width: 160,
    cellsformat: 'dd-MMMM-yyyy'
  }]
});

这样修改之后,顶部的下拉框、输入按钮会靠左排列,jqxGrid表格则会自动移动到屏幕最右侧,完全符合你想要的布局效果~

备注:内容来源于stack exchange,提问作者Tan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 18:28:10