Я использую сетку пользовательского интерфейса.
http://ui-grid.info/docs/#/tutorial
В нем есть опция скрыть столбец. Я хочу получить событие, когда пользователь скрывает столбец. Я хочу показывать предупреждение, когда столбец скрыт? Есть ли какое-либо событие в сетке пользовательского интерфейса, которое срабатывает, когда столбец скрыт?
http://plnkr.co/edit/9kDPhXz1d5Yn2ioyKa6w?p=preview
<div ng-controller="MainCtrl">
<div class="grid" ui-grid="gridOptions" ui-grid-move-columns></div>
</div>
hide column отображается, когда пользователь щелкает заголовок столбца. Появляется всплывающее окно, в котором есть возможность скрыть столбец.
Ответ 1 · рейтинг 1 · user6083264
Вы можете использовать столбец VisibilityChanged(scope, callBack)
onRegisterApi : function(gridApi) {
$scope.gridApi = gridApi;
$scope.gridApi.core.on.columnVisibilityChanged($scope,function (column) {console.log('Column Scope',column);});
}
Ответ 2 · Marco
Этого можно добиться с помощью jQuery, добавив следующий код:
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
<script type="text/javascript">
jQuery(function()
{
jQuery('.ui-grid-column-menu-button').click(function()
{
$col = jQuery(this).closest('.ui-grid-header-cell');
var colNumber = $col.index() + 1;
var colName = $col.find('.ui-grid-header-cell-label').text();
jQuery(".ui-grid-menu-items > li[id='menuitem-3'] button").click(function()
{
alert("Column Nº "+colNumber+" ("+colName+") hidden");
});
});
});
</script>