UI-Grid在单元格下拉列表中显示未定义

时间:2017-02-03 18:03:57

标签: javascript angularjs ui-grid

当在角度ui网格的单元格中有一个下拉列表时,所有值都显示为未定义。这是我控制器中的网格设置。

var status = [
        { id: 1, type: 'Closed' },
        { id: 2, type: 'Pending' },
        { id: 3, type: 'Open' }
    ];

    // grid setup
    $scope.gridStore = {
        enableSorting: true,
        enableFiltering: true,
        flatEntityAccess: true,
        fastWatch: true,
        enableHorizontalScrollbar: 1,
        enableCellSelection: true,
        enableCellEditOnFocus: true,
        columnDefs: [
            { name: 'Number', field: 'Number', width: 150, pinnedLeft: true, enableCellEdit: false },
            { name: 'Name', field: 'Name', width: 300, pinnedLeft: true, enableCellEdit: false },
            { name: 'Date', field: 'Date', width:500 },
            { name: 'Status', field: 'Status', width: 500, editType: 'dropdown', editableCellTemplate: 'ui-grid/dropdownEditor', editDropDownValueLabel: 'type', editDropdownOptionsArray: status, filter: { selectOptions: status, type: uiGridConstants.filter.SELECT, condition: uiGridConstants.filter.EXACT } }
        ]
    };

1 个答案:

答案 0 :(得分:1)

我假设您修复了自己的问题?

另外为了将来参考,我在处理ui网格下拉时使用的一个简洁的功能是我对待它们就像它们总是动态的所以我不再需要处理OptionsArray和过滤器(这很痛苦)动态数据)。

当您计划扩展角度ui网格的知识时,需要考虑一下。

HTML:

<div ui-grid="gridOptions" ui-grid-edit class="grid"></div>

控制器:

$scope.gridOptions = {
    enableSorting: true,
    enableFiltering: true,
    enableCellEditOnFocus: true,
    columnDefs: [
      { field: 'name',
        sort: {
          direction: 'desc',
          priority: 1
        }
      },
      { field: 'gender', editType: 'dropdown', enableCellEdit: true,
          editableCellTemplate: 'temp.html' },
      { field: 'company', enableSorting: false }
]};

temp.html:

<div>
    <select ng-model="row.entity.gender" data-ng-options="d as d.type for d in genderType">
        <option value="" selected disabled>Choose Gender</option>
    </select>
</div>