数据表行延伸过去的表边界,或太窄(Datatable rows extend past table

2019-10-21 02:13发布

红宝石2.0.0,4.0.3的Rails,jQuery的数据表-导轨2.2.3(W /数据表1.10.1),jquery的护栏3.1.1,jquery的-UI-导轨5.0.0,lodash护栏2.4.1自举萨斯3.2.0.1

我有麻烦的DataTable正确格式化。 无论是列超限的形式,或者列过于狭窄。 我试图修复此的myriead。 我已经设置columnDefs和列宽。 我已经在表头设置HTML的宽度。 我给自己定autoWidth虚实。 我动态设置CSS宽度。 我已经安装了各种建议CSS修改。 我尝试一切我能找到。 令人沮丧的是,没有改变任何东西。 格式总是一模一样的,就像是完全无视我所有的尝试。 这些形式被配置为响应。 我也停用了。 没有骰子。

除了格式化,表完美地工作。 他们排序。 他们的搜寻,他们页。 他们只是将无法正常进行格式化。 再次,我已经最小化这一种形式,并采取所有多余的信息了也没有用。

所有的援助表示赞赏。

形式呈现为:

部分的形式是:

<div class="span12">
  <p>
  <table id="carstable" class="display table-striped"  width="80%"
         data-source="<%= cars_path(format: "json") %>">
    <thead>
    <tr>
      <th data-class="expand">Stock No.</th>
      <th>Year</th>
      <th>Make</th>
      <th data-hide="phone">Model</th>
      <th data-hide="phone">Color</th>
      <th>Status</th>
      <th data-hide="phone,tablet">Mileage</th>
      <th data-hide="phone,tablet">MSRP</th>
      <th data-hide="phone,tablet">Aged</th>
    </tr>
    </thead>
    <tbody>
    </tbody>
  </table>
</div>

数据表被初始化为:

$(document).ready(function () {
    var breakpointDefinition, tableElement;
    var rHelperCar;
    rHelperCar = void 0;
    breakpointDefinition = {
        tablet: 1300,
        phone: 480
    };
    tableElement = $("#carstable");
    tableElement.dataTable({
        responsive: false,
        autoWidth: false,
        pagingType: "full",
        jQueryUI: true,
        processing: true,
        serverSide: true,
        ajax: $('#carstable').data('source'),
        preDrawCallback: function () {
            if (!rHelperCar) {
                rHelperCar = new ResponsiveDatatablesHelper(tableElement, breakpointDefinition);
            }
        },
        rowCallback: function (nRow) {
            rHelperCar.createExpandIcon(nRow);
        },
        drawCallback: function (oSettings) {
            rHelperCar.respond();
        }
    });

保存的HTML页:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link href="/images/favicon.ico" rel="icon" />
  <title>Car</title>
  <meta name="description" content="Car">

  <link data-turbolinks-track="true" href="/assets/application.css?body=1" media="all" rel="stylesheet" />
...
<script data-turbolinks-track="true" src="/assets/application.js?body=1"></script>
</head>
<body>
<header>
  <div class="navbar navbar-inverse navbar-fixed-top">
  <a class="navbar-brand" href="/"><h4>Car</h4></a>
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="/">Home</a>
    </div>
    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
            <li><a href="/logout">Logout</a></li>
    <li><a href="/cars">Cars</a></li>

      </ul>
    </div>
  </div>
</div>

</header>
<main role="main">

  <div class="container-fluid">
    <div class="row">
        <div class="row">
  <div class="col-md-6">
  <div class="panel panel-primary">
    <div class="panel-heading">
        ---  This associate is: David Hanson
    </div>
    <div class="panel-body">
      <div class="span12">
  <p>
  <table id="carstable" class="display table-striped"  width="80%"
         data-source="/cars.json">
    <thead>
    <tr>
      <th data-class="expand">Stock No.</th>
      <th>Year</th>
      <th>Make</th>
      <th data-hide="phone">Model</th>
      <th data-hide="phone">Color</th>
      <th>Status</th>
      <th data-hide="phone,tablet">Mileage</th>
      <th data-hide="phone,tablet">MSRP</th>
      <th data-hide="phone,tablet">Aged</th>
    </tr>
    </thead>
    <tbody>
    </tbody>
  </table>
</div>

    </div>
  </div>
</div>

</div>
    </div>
  </div>
</main>
</body>
</html>

Answer 1:

这不是一个困难的修复,一旦我真的从数据表的作者艾伦·帮助理解问题。 该行是简单的宽度大于表可以处理,迫使其溢出。 我发现,index.html.erb被渲染的索引部分与含有该限制表宽度COL-MD-6 div元素的布局。 我改变了宽度COL-MD-9和解决的基本问题。

行宽度继续作为浏览器的宽度收缩,设备类型更改为有问题的。 这似乎是一个breakpointDefinition问题。 看来,微调该参数应该解决的问题,使列适当隐藏。

更新:也注意到,我在显示部分有哪些影响行长度span12。 这肯定将是有意义的有表的大小和行长度是兼容的。 有趣的是简单的这一切工作,一旦你弄清楚了一些出来。 当然,我有很多东西要学。



文章来源: Datatable rows extend past table boundary, or are too narrow