【问题标题】:How to set kendo UI grid width如何设置剑道 UI 网格宽度
【发布时间】:2015-08-19 07:02:45
【问题描述】:

我遇到了剑道网格宽度的问题。我希望网格拉伸以适应网格的内容。我正在处理的这个网格是动态创建的,所以有时它可能只有 2 列,有时它可能最多有 5 列。我不希望网格扩展并占用整个页面以仅显示两列。

为了让它工作,我添加了以下 css

.k-grid table{
    display: inline;
}

问题在于,当应用这种样式时,它会完全弄乱列标题和列对齐方式。有谁知道如何解决这个问题?

【问题讨论】:

    标签: kendo-ui kendo-grid


    【解决方案1】:

    其实这很简单。但是我浪费了很多时间,因为我没有得到正确的来源。您只需要实现以下内容。

    制作网格sortable: false

    并使用这个 CSS

    #gridId table {
        width: auto;
    }
    

    但是这样你就失去了滚动功能。但是你可以将你的剑道网格包裹在另一个容器中并实现你自己的滚动。

    【讨论】:

    • 我几乎可以肯定你的意思是scrollable: false
    【解决方案2】:
    var grid = $("#kendoGridName");
    grid.width(400);
    

    【讨论】:

      【解决方案3】:

      您可以使用一些 jQuery 来执行此任务,而不是尝试应用一些 css。我在身高方面做了类似的事情。所以也许这样的事情对你有用(我已经修改了这个来做高度和宽度)。

      function resizeGrid(size) {
      
          if (size === null || size === undefined) {
              size = 0.6;
          }
      
          var windowHeight = $(window).height();
          var windowWidth = $(window).width();
          windowHeight = windowHeight * size;
          windowWidth = windowWidth * size; 
          $(".k-grid-content").height(windowHeight)
          $(".k-grid).width(windowWidth);
      }
      

      所以这个函数所做的就是根据当前窗口大小缩放网格,例如,如果您希望网格占用所有可用空间,即最大高度和宽度,您可以调用resizeGrid(1),如果您希望它更小,请说要占用屏幕大小的 50%,那么您将使用 reszieGrid(0.5) 如果没有使用任何值,那么该函数将默认为可用宽度/高度的 60%。

      所以您可以在初始化网格后调用它,然后将网格缩放到适当的大小。

      通过定位 kendo css 类,它使这个函数更容易重用。

      如果您需要更多信息,请告诉我。

      【讨论】:

      • 感谢@David 的解决方案。它真的很好用。但我的问题是我不想明确提及网格的宽度。我唯一想要的就是根据列数和它所拥有的内容来跨越网格。这就是我指定显示属性的原因。要在 Angular 和纯 html 表格中完成这项工作真的很容易,当剑道网格出现时问题就开始了。
      • 好吧,剑道支持 Angular 作为第一方公民。对不起,我不喜欢 Angular。您可以修改此代码以在数据绑定事件中触发,然后根据列数对其进行调整。
      • 同意,但仍然提到列的宽度没有意义,因为这是一个动态网格,我不知道我会从服务器获得什么内容的长度。我在应用的 CSS 中看到的唯一问题是,样式应用于标题和内容表。当th 中的文本大于td 中的文本时,它会打乱对齐方式。我将尝试根据列数设置宽度,看看效果如何。
      • 如果您可以提供一个示例,说明您希望它在不使用剑道的情况下的外观,那么我可以看到我能为您提供什么。
      • 它实际上非常简单,没有任何 CSS 或明确的宽度/高度。我仍然创建了一个jsfiddle。您将看到两个基于网格内容的表格。这就是我想要的剑道网格
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-27
      • 2015-04-10
      • 2016-11-06
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多