Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Подходящее событие для скрытого столбца в сетке пользовательского интерфейса

Автор вопроса: user944513Ответов: 2

Я использую сетку пользовательского интерфейса.

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 отображается, когда пользователь щелкает заголовок столбца. Появляется всплывающее окно, в котором есть возможность скрыть столбец.

javascriptangularjsangularjs-directiveangularjs-scopeangular-ui-grid

Ответы

Ответ 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>

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы