2014-09-02 331 views
9

我使用jQuery插件數據表,如果我們不指定網格的列寬度,它將自動寬度的列獲取標題或數據內容的長度。如何使Kendo Grid Column自動寬度

現在我想在Kendo Grid中使用同樣的功能,但除了使Grid包裝風格固定併爲所有列設置了col寬度css外,我無法找到它,這使得小長度字段也佔用大空間。所以我的問題是如何使Kendo網格欄(通常我有很多領域,它是可以滾動的)自動寬度或不同的長度(我不希望手動設置每列的寬度) 。

感謝

回答

7

你種得設置寬度,當你定義的列,如果你不指定寬度,那麼它只要內容的自動調寬。 看看這個DOChttp://docs.telerik.com/kendo-ui/api/web/grid#configuration-columns.width

columns: [ 
    { field: "name", width: "200px" }, 
    { field: "tel", width: "10%" }, // this will set width in % , good for responsive site 
    { field: "age" } // this will auto set the width of the content 
    ], 

如果你需要更多的方式來處理劍道寬度,看http://docs.telerik.com/kendo-ui/getting-started/web/grid/walkthrough#column-widths

5

設置滾動假應該做的伎倆:

$('#grid').kendoGrid({ 
    dataSource: { 
    data: data 
    }, 
    scrollable: false, 
    resizable: true 
}); 
3

我也用dataBound來解決這個問題:

我在數據綁定

 <kendo-grid id="grid" options="mainGridOptions"> 
     </kendo-grid> 



     dataBound: function(){ 
      var grid = $("#grid").data("kendoGrid"); 
      for (var i = 0; i < grid.columns.length; i++) { 
       grid.autoFitColumn(i); 
      } 
     }, 
     dataSource: $scope.data, 

約劍道自動調整列的問題,你可以做到這一點jQuery中:

$('#grid').kendoGrid({ 
    dataSource: { 
    data: data 
    },dataBound: function(){ 
      var grid = $("#grid").data("kendoGrid"); 
      for (var i = 0; i < grid.columns.length; i++) { 
       grid.autoFitColumn(i); 
      } 
     }, 
+0

謝謝你的建議,但是這是可用,因爲2015年第一季度。 – 2017-06-22 15:46:06

+0

@federico嵌入一行配置?沒有js功能?怎麼樣? – 2017-06-22 16:43:32

+1

不幸的是,並不是一種簡單的方法,你需要從每列的X表中獲得像max1(len(col1))那樣的最大長度,因爲len1,並且稍後用像素預先設置每個像素的寬度,我是仍在研究這個方程式,但是它可以在2014年或更早的舊版本中工作。 – 2017-06-23 07:31:46