Kendo ui KendoUI网格自动拟合列,最大/最小宽度

Kendo ui KendoUI网格自动拟合列,最大/最小宽度,kendo-ui,kendo-grid,kendo-ui-angular2,Kendo Ui,Kendo Grid,Kendo Ui Angular2,我正在使用autoFitColumns方法,如下所述: 但在某些情况下,该方法会将列的大小调整得太小(例如,当网格中只有1-2列时)或太大(当列包含长文本且不需要实际显示所有列时) 自动调整大小时有没有办法设置最大/最小宽度?据我所知,这不是内置于网格中的;但是,您可以通过更新列选项来执行此操作: var FitCols = function(){ var grid = $("#grid").data("kendoGrid"); if (grid) { //copy curre

我正在使用autoFitColumns方法,如下所述:

但在某些情况下,该方法会将列的大小调整得太小(例如,当网格中只有1-2列时)或太大(当列包含长文本且不需要实际显示所有列时)


自动调整大小时有没有办法设置最大/最小宽度?

据我所知,这不是内置于网格中的;但是,您可以通过更新列选项来执行此操作:

var FitCols = function(){
  var grid = $("#grid").data("kendoGrid");
  if (grid) {
    //copy current column options from the grid
    var newOptions = $.extend({}, grid.getOptions().columns);               
    var minW = 80;  //minimum column width
    var maxW = 300; //maximum column width
    for (var i = 0; i < grid.columns.length; i++) {
      grid.autoFitColumn(i);
      //after autofit, limit to max and min width
      var curW = grid.columns[i].width;
      var actualW = Math.max(curW, minW); //min check
      actualW = Math.min(actualW, maxW); //max check
      newOptions[i].width = actualW + "px";
    }    
    grid.setOptions({ columns:  newOptions });
  }        
};  
var FitCols=function(){
var grid=$(“#grid”).data(“kendoGrid”);
如果(网格){
//从轴网复制当前列选项
var newOptions=$.extend({},grid.getOptions().columns);
var minW=80;//最小列宽
var maxW=300;//最大列宽
对于(var i=0;i
这段代码在自动调整大小之前从网格中获取列选项。然后迭代每个列,调用autosize,根据最大值和最小值检查新大小,将新大小写入复制的列选项,最后将这些选项写回网格

下面是一个dojo演示:


请记住,如果您有许多列,自动调整大小的速度将以指数级的速度减慢…

据我所知,这并不是内置于网格中的;但是,您可以通过更新列选项来执行此操作:

var FitCols = function(){
  var grid = $("#grid").data("kendoGrid");
  if (grid) {
    //copy current column options from the grid
    var newOptions = $.extend({}, grid.getOptions().columns);               
    var minW = 80;  //minimum column width
    var maxW = 300; //maximum column width
    for (var i = 0; i < grid.columns.length; i++) {
      grid.autoFitColumn(i);
      //after autofit, limit to max and min width
      var curW = grid.columns[i].width;
      var actualW = Math.max(curW, minW); //min check
      actualW = Math.min(actualW, maxW); //max check
      newOptions[i].width = actualW + "px";
    }    
    grid.setOptions({ columns:  newOptions });
  }        
};  
var FitCols=function(){
var grid=$(“#grid”).data(“kendoGrid”);
如果(网格){
//从轴网复制当前列选项
var newOptions=$.extend({},grid.getOptions().columns);
var minW=80;//最小列宽
var maxW=300;//最大列宽
对于(var i=0;i
这段代码在自动调整大小之前从网格中获取列选项。然后迭代每个列,调用autosize,根据最大值和最小值检查新大小,将新大小写入复制的列选项,最后将这些选项写回网格

下面是一个dojo演示:

请记住,如果有许多列,自动调整大小的速度将以指数级的速度减慢