Как сослаться на дочернюю сетку Kendo-UI / AngularJS?

0

Я хочу ссылаться на объект моей дочерней сетки и обновить дочернюю сетку с новым идентификатором в фильтре. Когда я ссылаюсь на дочернюю сетку Kendo-Grid, я получаю неопределенный объект.

HTML

<div kendo-grid="customerGrid" k-rebind="mainGridOptions" options="mainGridOptions" k-on-filter-menu-init="filterInit(kendoEvent)">
            <div k-detail-template>
                <div id="tabstrip" kendo-tab-strip="tabstrip">     
                    <ul>
                        <li class="k-state-active">СЧЕТА КЛИЕНТА</li>
                        <li ng-disabled="dis" ng-click="loadDetailAcc()">Полная информация по счету</li>
                        <li ng-disabled="dis" ng-click="loadDetailGrid()">Просмотр событий по счету</li>
                    </ul>
                    <div>
                        <div>
                            <div kendo-grid="detailGrid" k-options="detailGridOptios"></div>
                        </div>

JAVASCRIPT/ANGULARJS

  $scope.loadDetailGrid = function () {     
    console.log($scope.detailGrid);// undefined
    $scope.detailGrid.dataSource.read(); //error
};

             $scope.detailGridOptios = {
                dataSource: {
                    transport: {
                        read: '/api/HomeApi/GetAccountEvent',
                        dataType: "json"
                    },
                    pageSize: 3,
                    filter: { field: "UniqueAccontCode", operator: "eq", value: id }
                },
                autoBind: false,
                height: 180,
                pageable: true,
                columns: [
                {
                    field: "IDUser",
                    title: "Идентификатор пользователя",
                    width: "120px"
                },
                {
                    field: "UniqueAccontCode",
                    title: "Номер счета",
                    width: "120px"
                }, {
                    field: "LastActData",
                    title: "Дата последнего действия",
                    width: "120px"
                }, {
                    field: "Text",
                    title: "Текст",
                    width: "120px"
                }
                ]
            }; 
Теги:
kendo-grid

1 ответ

0

Вам просто нужно добавить: $ scope.detailGrid = "detailGrid"; в вашем Js файле.. я думаю, что это сделает трюк

  • 0
    Гарри, не могли бы вы указать, что вы имели в виду? Я хочу получить объект сетки кендо, но этот код ($ scope.detailGrid = "detailGrid";) просто возвращает строковый объект.
  • 0
    Angular работает таким образом, здесь вы определили свою сетку: <div kendo-grid = "customerGrid" k-rebind = "mainGridOptions" options = "mainGridOptions" k-on-filter-menu-init = "filterInit (kendoEvent)"> .. Так что после того, как вы определили в контроллере, как это: $ scope.detailGrid = "detailGrid", вы можете читать данные по ссылке, с этой строкой кода: $ scope.detailGrid.dataSource.read ();
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню