ui-grid 中的垂直列标题文本
Vertial column heading text in ui-grid
我正在尝试编写一个 angular ui-grid(新的 ng-grid),在列标题中使用垂直文本,但使用标准 [=21= 得到了一些有趣的结果] 技巧
.blue {
color: blue;
transform: rotate(90deg);
transform-origin: left;
height:100px;
}
http://plnkr.co/edit/CtDEcgSrebLFnBXcMrjS?p=preview
我只是想知道这是否可能,是否有人对此有所了解?
您或许可以提供自己的 header 单元格模板并修改 header 的创建方式。
这是一个简单的例子
function headerCellTemplate() {
return $timeout(function() {
$scope.waiting = 'Done!';
$interval.cancel(sec);
$scope.wait = '';
return "<div ng-class=\"{ 'sortable': sortable }\"><!-- <div class=\"ui-grid-vertical-bar\"> </div> --><div class=\"ui-grid-cell-contents verticalText\" col-index=\"renderIndex\"><p class=\"verticalTextSpan\">{{ col.displayName CUSTOM_FILTERS }}</p> <span ui-grid-visible=\"col.sort.direction\" ng-class=\"{ 'ui-grid-icon-up-dir': col.sort.direction == asc, 'ui-grid-icon-down-dir': col.sort.direction == desc, 'ui-grid-icon-blank': !col.sort.direction }\"> </span></div><div class=\"ui-grid-column-menu-button\" ng-if=\"grid.options.enableColumnMenus && !col.isRowHeader && col.colDef.enableColumnMenu !== false\" ng-click=\"toggleMenu($event)\" ng-class=\"{'ui-grid-column-menu-button-last-col': isLastCol}\"><i class=\"ui-grid-icon-angle-down\"> </i></div><div ng-if=\"filterable\" class=\"ui-grid-filter-container\" ng-repeat=\"colFilter in col.filters\"><input type=\"text\" class=\"ui-grid-filter-input\" ng-model=\"colFilter.term\" ng-attr-placeholder=\"{{colFilter.placeholder || ''}}\"><div class=\"ui-grid-filter-button\" ng-click=\"colFilter.term = null\"><i class=\"ui-grid-icon-cancel\" ng-show=\"!!colFilter.term\"> </i><!-- use !! because angular interprets 'f' as false --></div></div></div>";
}, 10);
}
将此 header 单元格模板添加到需要垂直文本的列中。 css可以根据需要修改,
.verticalText
{
height:100px;
}
.verticalTextSpan
{
margin:auto;
padding-left:50px;
-webkit-transform:rotate(90deg);
-moz-transform:rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform:rotate(90deg);
transform: rotate(90deg);
}
我正在尝试编写一个 angular ui-grid(新的 ng-grid),在列标题中使用垂直文本,但使用标准 [=21= 得到了一些有趣的结果] 技巧
.blue {
color: blue;
transform: rotate(90deg);
transform-origin: left;
height:100px;
}
http://plnkr.co/edit/CtDEcgSrebLFnBXcMrjS?p=preview
我只是想知道这是否可能,是否有人对此有所了解?
您或许可以提供自己的 header 单元格模板并修改 header 的创建方式。
这是一个简单的例子
function headerCellTemplate() {
return $timeout(function() {
$scope.waiting = 'Done!';
$interval.cancel(sec);
$scope.wait = '';
return "<div ng-class=\"{ 'sortable': sortable }\"><!-- <div class=\"ui-grid-vertical-bar\"> </div> --><div class=\"ui-grid-cell-contents verticalText\" col-index=\"renderIndex\"><p class=\"verticalTextSpan\">{{ col.displayName CUSTOM_FILTERS }}</p> <span ui-grid-visible=\"col.sort.direction\" ng-class=\"{ 'ui-grid-icon-up-dir': col.sort.direction == asc, 'ui-grid-icon-down-dir': col.sort.direction == desc, 'ui-grid-icon-blank': !col.sort.direction }\"> </span></div><div class=\"ui-grid-column-menu-button\" ng-if=\"grid.options.enableColumnMenus && !col.isRowHeader && col.colDef.enableColumnMenu !== false\" ng-click=\"toggleMenu($event)\" ng-class=\"{'ui-grid-column-menu-button-last-col': isLastCol}\"><i class=\"ui-grid-icon-angle-down\"> </i></div><div ng-if=\"filterable\" class=\"ui-grid-filter-container\" ng-repeat=\"colFilter in col.filters\"><input type=\"text\" class=\"ui-grid-filter-input\" ng-model=\"colFilter.term\" ng-attr-placeholder=\"{{colFilter.placeholder || ''}}\"><div class=\"ui-grid-filter-button\" ng-click=\"colFilter.term = null\"><i class=\"ui-grid-icon-cancel\" ng-show=\"!!colFilter.term\"> </i><!-- use !! because angular interprets 'f' as false --></div></div></div>";
}, 10);
}
将此 header 单元格模板添加到需要垂直文本的列中。 css可以根据需要修改,
.verticalText
{
height:100px;
}
.verticalTextSpan
{
margin:auto;
padding-left:50px;
-webkit-transform:rotate(90deg);
-moz-transform:rotate(90deg);
-o-transform: rotate(90deg);
-ms-transform:rotate(90deg);
transform: rotate(90deg);
}