2016-03-02 2 views
8

Я новичок в использовании agGrid, простите меня, если найдете что-то глупое. Поэтому перед этим я использовал Kendo Grid на angularjs, но мы решили переключиться на другую сетку, поэтому мы сейчас пытаемся agGrid.ag-сетка не заполняется внутри функции?

Ниже приведен образец aggrid, который отлично работает и все работает. Но, когда я перемещаю свои параметры сетки внутри функции, которая будет вызвана нажатием кнопки, я получаю ПРЕДУПРЕЖДЕНИЕ. Параметры сетки для ag-Grid не найдены. Убедитесь, что атрибут ag-grid указывает на действительный объект в области.

Я не могу понять, в чем проблема, потому что внутри этой функции функции сетки kendo работают нормально, а сетка кендо заполняется, но я не уверен, что я делаю неправильно с agGrid.

Пожалуйста, помогите мне.

function abc($rootScope,$scope, $state, $stateParams, $timeout, Upload, baseURL, $cookieStore, $log, errorCheckFactory) { 
    var columnDefs = [ 
     {headerName: "Make", field: "make"}, 
     {headerName: "Model", field: "model"}, 
     {headerName: "Price", field: "price"} 
    ]; 

    var rowData = [ 
     {make: "Toyota", model: "Celica", price: 35000}, 
     {make: "Ford", model: "Mondeo", price: 32000}, 
     {make: "Porsche", model: "Boxter", price: 72000} 
    ]; 

    $scope.gridOptions2 = { 
     columnDefs: columnDefs, 
     rowData: rowData, 
     enableFilter: true, 
     enableColResize: true, 
     enableSorting: true, 
     groupHeaders: true, 
     rowHeight: 22, 
     //onModelUpdated: onModelUpdated, 
     suppressRowClickSelection: true 

    }; 

}

+0

Вы нашли решение. Я также сталкиваюсь с такой же проблемой. – ranjeet8082

+0

@ ranjeet8082 проверить свои привязки, как я сказал в своем ответе. – Walfrat

+0

привет, @ ranjeet8082 u можно открыть сетку. Во время нажатия кнопки вы можете написать «gridOptions» в боковой функции.Таким образом, вы можете загрузить Html и в это время с помощью ng-если сначала вы можете скрыть html-клик, только вы можете загрузить html, а затем в опции также загрузите функцию щелчка, чтобы вы не получили никаких ошибок. Вы можете проверить этот плункер. http://plnkr.co/edit/247nVYxwNmOXdHvutJNm?p=preview –

ответ

4

Если сетка не foud ваши gridOptions, что, безусловно, означает, что у вас есть опечатка в шаблоне HTML

Проверьте шаблон Hml он должен иметь

ag-grid="gridOptions2" 

Примечание : если вы используете контроллер с методом controllerAs, вам нужно привязать переменные на этом, а не на $ scope.

Если это не так, ваш html и ваш маршрут/состояние/любое определение навигации.

0

Это проблема с привязкой к угловой сетке. проверьте свою переменную gridOptions.

параметры сетки функции:

var columnDefs = [ 
    {displayName: "Make", field: "make"}, 
    {displayName: "Model", field: "model"}, 
    {displayName: "Price", field: "price"}, 
    {displayName: "Price2 ", field: "price2"}, 
    {displayName: "Test 4", field: "test4"}, 
    {displayName: "Test 5", field: "test5"}, 
    {displayName: "Test 6", field: "test6"}, 
]; 

var rowData = [ 
    {make: "Toyota Toyota Toyota Toyota Toyota", model: "Celica", price: 35000, price2: 145, "Test 4": "Test 4", "Test 5": "Test 5", "Test 6": "Test 6"}, 
    {make: "Acura", model: "Celica", price: 35000, price2: 145, "Test 4": "Test 4", "Test 5": "Test 5", "Test 6": "Test 6"} 
]; 

vm.gridOptions = { 
    columnDefs: columnDefs, 
    rowData: rowData 
}; 

Рабочая Plnkr: http://plnkr.co/edit/VRnwnXi6fzyaoJJ1YHOx?p=preview

Correct binding : <div angular-grid="main.gridOptions" class="ag-fresh" style="width: 100%"></div> 

Ошибка Plnkr: http://plnkr.co/edit/zb4Vc2lw5VzRzYwsfhL7?p=preview

In-Correct Binding : <div angular-grid="main.gridOptions2" class="ag-fresh" style="width: 100%"></div> 

Мы изменили связывание с gridOptions до gridOptions2, и это дает нам предупреждение: VM769 angular-grid.js: 1 ПРЕДУПРЕЖДЕНИЕ - опция сетки s для угловой решетки не найдено. Убедитесь, что угловая сетка атрибута указывает на действительный объект в области видимости.

Я думаю, что это должно вызывать сомнения.

0

@ ranjeet8082 u можно открыть сетку. В момент нажатия кнопки вы можете написать «gridOptions» в боковой функции. Таким образом, вы можете загрузить Html и в это время с помощью ng-если сначала вы можете скрыть html-клик, только вы можете загрузить html, а затем в опции также загрузите функцию щелчка, чтобы вы не получили никаких ошибок. Вы можете проверить этот плункер.

enter link description here

Смежные вопросы