wss. 发表于 2020-6-12 17:08:48

表头自适应高度


我在列上设置了wordWrap=true; 内容的确自动换行了,但是高度却没变

KevinChen 发表于 2020-6-12 17:08:49

你好,感谢反馈,本帖就结贴了,新的问题欢迎发新帖交流~

KevinChen 发表于 2020-6-12 18:20:42

请参考这篇示例:

http://jsfiddle.net/Wijmo5/apzwy85z/

关键代码如下:

    $scope.itemsSourceChanged = function(s, e) {
      setTimeout(function() {
            
            // enable wrapping on first header row
            var row = s.columnHeaders.rows;
            row.wordWrap = true;

            // autosize first header row
            s.autoSizeRow(0, true);
            
            // limit height to 100px
            //if (row.height > 100) {
            //    row.height = 100;
            //}
      });
    }

wss. 发表于 2020-6-13 10:58:26

KevinChen 发表于 2020-6-12 18:20
请参考这篇示例:

http://jsfiddle.net/Wijmo5/apzwy85z/


你好,页面打不开

KevinChen 发表于 2020-6-15 09:28:45

你好,请将以下代码完整复制,到示例页面替换掉app.js,点击运行即可看到效果:

import 'bootstrap.css';
import '@grapecity/wijmo.styles/wijmo.css';
import { SortDescription, format } from '@grapecity/wijmo';
import { FlexGrid } from '@grapecity/wijmo.grid';
document.readyState === 'complete' ? init() : window.onload = init;
function init() {
    // create some random data
    var countries = 'US,Germany,UK,Japan,Italy,Greece'.split(',');
    var data = [];
    for (var i = 0; i < countries.length; i++) {
      data.push({
            id: i,
            country: countries,
            sales: Math.random() * 10000,
            expenses: Math.random() * 5000
      });
    }

    var autoFitColumnHeaderWidth = function(s,e){
      setTimeout(function() {
            // enable wrapping on first header row
            var row = s.columnHeaders.rows;
            row.wordWrap = true;
            // autosize first header row
            s.autoSizeRow(0, true);
      });
    }

    // bind a grid to the raw data
    var theGrid = new FlexGrid('#theGrid', {
      allowSorting: false,
      showSort: false,
      autoGenerateColumns: false,
      columns: [
            { binding: 'country', header: 'This is the Country column, but the heading is ridiculously wide so we have to wrap...', width: '2*' },
            { binding: 'sales', header: 'Sales', width: '*', format: 'n2' },
            { binding: 'expenses', header: 'Expenses', width: '*', format: 'n2' }
      ],
      itemsSource: data,
      resizedColumn: autoFitColumnHeaderWidth,
      loadedRows: autoFitColumnHeaderWidth
    });
    // show the current item
    var selItemElement = document.getElementById('selectedItem');
    function updateCurrentInfo() {
      selItemElement.innerHTML = format('Country: <b>{country}</b>, Sales: <b>{sales:c0}</b> Expenses: <b>{expenses:c0}</b>', theGrid.collectionView.currentItem);
    }
    // update current item now and when the grid selection changes
    updateCurrentInfo();
    theGrid.collectionView.currentChanged.addHandler(updateCurrentInfo);
    // sort the data by country
    var sd = new SortDescription('country', true);
    theGrid.collectionView.sortDescriptions.push(sd);
}


示例地址:

https://demo.grapecity.com.cn/wijmo/demos/Grid/Data-binding/Basics/purejs

wss. 发表于 2020-6-16 15:09:02

KevinChen 发表于 2020-6-15 09:28
你好,请将以下代码完整复制,到示例页面替换掉app.js,点击运行即可看到效果:




能否做到单行的话垂直居中呢

wss. 发表于 2020-6-16 16:46:53

KevinChen 发表于 2020-6-15 09:28
你好,请将以下代码完整复制,到示例页面替换掉app.js,点击运行即可看到效果:




而且我发现了一个问题,好像这个方法对自定义编辑事件产生了影响(不能编辑)

wss. 发表于 2020-6-16 16:51:09

本帖最后由 wss. 于 2020-6-16 17:32 编辑

wss. 发表于 2020-6-16 16:46
而且我发现了一个问题,好像这个方法对自定义编辑事件产生了影响(不能编辑)
准确的说loadedRows是这个导致了这个问题,进不来beginningEdit事件

wss. 发表于 2020-6-16 18:17:33

KevinChen 发表于 2020-6-15 09:28
你好,请将以下代码完整复制,到示例页面替换掉app.js,点击运行即可看到效果:




打扰了打扰了,我知道问题了

wss. 发表于 2020-6-17 09:28:50

KevinChen 发表于 2020-6-16 18:28
你好,感谢反馈,本帖就结贴了,新的问题欢迎发新帖交流~

不好意思,
楼上这个问题还没解决:
能否做到单行的话垂直居中呢
页: [1] 2 3
查看完整版本: 表头自适应高度