0

私はAngularJS UI Gridに取り組んでおり、useExternalPagination、useExternalSorting属性を使用すると、Rowselectionが機能しません。以下は私のグリッドプロパティです

    $scope.gridOption = {
        'excessRows': 20, 
        enableSorting: true,
        enableRowSelection: true,
        enableRowHeaderSelection: true,
        multiSelect: true,
        enablePaginationControls: false,
        paginationPageSizes: [10,20],
        paginationPageSize: 10,
        rowHeight: 160, 
        minRowsToShow: 6,
        useExternalPagination: true,
        useExternalSorting: true,
        rowTemplate: 'temp.html'
    };

onRegisterApi の外部ページ付け、

$scope.gridOption.onRegisterApi = function(gridApi) {
$scope.gridApi = gridApi;
    gridApi.pagination.on.paginationChanged($scope, function(newPage, pageSize) {
                    pagination.pageNumber = newPage;
                    pagination.pageSize = pageSize;
                    setData();
    });
};

   function setData() {
    http.get().then(function(data) {
    $scope.gridOption.totalItems = data.total;
    $scope.gridOption.data =  data.grid;
            $timeout(function() {
              $scope.gridApi.selection.selectRow($scope.gridOption.data[0]);
            },1000);
        }

上記のように、グリッド内の最初のデータを選択しています。$scope.gridApi.selection.selectRow($scope.gridOption.data[0]); しかし、これは最初の行を選択していません。

属性 useExternalPagination を削除すると、useExternalSorting selectRow が指定された行を選択しています。externalpagination および rowselection オプションを使用する必要があります。コードに何か不足していますか?

どんな救いの手も....

前もって感謝します!!!

4

1 に答える 1

1

useExternalPagination、useExternalSorting、enableRowSelection 機能を備えたサンプル プランカーを作成しました。

http://plnkr.co/edit/I67c3xTkBeXq5OnMkIad?p=preview

チェックリスト: 1) 最新バージョンの ui-grid(3.0.7) を使用していることを確認してください。
2) 必要な依存関係をすべて追加したかどうかを確認します。

HTML:

<div ui-grid="gridOptions" ui-grid-selection ui-grid-pagination class="grid"></div>

JS:

  $scope.gridOptions = {
    paginationPageSizes: [25, 50, 75],
    paginationPageSize: 25,
    useExternalPagination: true,
    useExternalSorting: true,
    enableRowSelection: true,
    enableSelectAll: true
 };
于 2015-10-12T13:09:08.073 に答える