Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/440.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript UI网格根据列的内容设置列的宽度_Javascript_Angularjs_Multiple Columns - Fatal编程技术网

Javascript UI网格根据列的内容设置列的宽度

Javascript UI网格根据列的内容设置列的宽度,javascript,angularjs,multiple-columns,Javascript,Angularjs,Multiple Columns,我最近开始使用ui网格,我希望当网格初始化时,每一列根据其内容具有宽度 我知道在ui网格中有一个函数,当用户双击单元格以调整大小(resizer.link.dblClickFn)时,该函数会执行此操作,但它不将列作为参数,而是将列单击事件作为参数 有人对此有过经验吗?我可以通过手动调用所有大小调整器上的双击事件来解决此问题: onRegisterApi: function (gridApi) { $scope.gridApi = gridApi; set

我最近开始使用ui网格,我希望当网格初始化时,每一列根据其内容具有宽度

我知道在ui网格中有一个函数,当用户双击单元格以调整大小(resizer.link.dblClickFn)时,该函数会执行此操作,但它不将列作为参数,而是将列单击事件作为参数


有人对此有过经验吗?

我可以通过手动调用所有大小调整器上的双击事件来解决此问题:

    onRegisterApi: function (gridApi) {
        $scope.gridApi = gridApi;

        setTimeout(function () {
            var resizers = document.getElementsByClassName("ui-grid-column-resizer");

            for (var i = 0; i < resizers.length; i++) {
                var event = new MouseEvent('dblclick', {
                    'view': window,
                    'bubbles': true,
                    'cancelable': true
                });

                resizers[i].dispatchEvent(event);
            }
        }, 1);
    }
onRegisterApi:函数(gridApi){ $scope.gridApi=gridApi; setTimeout(函数(){ var resizers=document.getElementsByClassName(“ui网格列大小调整器”); 对于(var i=0;i通过手动调用所有大小调整器上的双击事件,我最终能够解决此问题:

    onRegisterApi: function (gridApi) {
        $scope.gridApi = gridApi;

        setTimeout(function () {
            var resizers = document.getElementsByClassName("ui-grid-column-resizer");

            for (var i = 0; i < resizers.length; i++) {
                var event = new MouseEvent('dblclick', {
                    'view': window,
                    'bubbles': true,
                    'cancelable': true
                });

                resizers[i].dispatchEvent(event);
            }
        }, 1);
    }
onRegisterApi:函数(gridApi){ $scope.gridApi=gridApi; setTimeout(函数(){ var resizers=document.getElementsByClassName(“ui网格列大小调整器”); 对于(var i=0;i这很麻烦,但您不能在填充每个单元格时以编程方式启动双击。这对于大量的数据来说是昂贵的,但对于较小的数据集来说可能是可行的。这很麻烦,但您不能在填充每个单元格时以编程方式触发双击。这将是昂贵的大量数据,但可能只适用于较小的数据集。解决了我作为唯一的解决方案的ui网格3.x!作为ui grid 3.x的唯一解决方案,我已经解决了这个问题!