Ui-Select UI-Grid中的用法

时间:2015-11-13 18:33:19

标签: angularjs

在本论坛成功回复我的第一个问题后,我很高兴提出另一个问题。我已经使用Brian Hamm的mehodology在ui-grid中使用ui-select。也许我没有正确实现,但我有这个问题:如何让单元格从下拉列表中显示所选值,而不是在数据库中输入的值。例如

gridoptions的

列:

{ field: 'projectorebody_id', 
            name: 'projectorebody_id', 
            displayName: 'Select',
            cellTemplate: '../app/views/projects/eporebodiesdropdown.html',
            editDropdownOptionsArray: vm.orebodies,
            width: '10%' },

celltemplate:

<ui-select-wrap>
<ui-select ng-model="MODEL_COL_FIELD" theme="selectize"
    append-to-body="true">

  <ui-select-match placeholder="Choose...">{{ COL_FIELD }}</ui-select-match>
  <ui-select-choices repeat="item.projectorebody_id as item in col.colDef.editDropdownOptionsArray | filter: $select.search">
    <span>{{ item.orebodyName }}</span>
  </ui-select-choices>
</ui-select>
</ui-select-wrap>

ui-select-wrap是由Brian Hamm编写的一个指令,其效果是当一个人离开列时,下拉列表不会保持打开状态。

目前,ui-select占据了整个细胞。它显示item.projectorebody_id。请参见下图。选择是带下拉列的列。您可以看到它显示id(item.projectorebody_id)。下一列Orebody显示了orebodyName(即下拉列表中的描述性值...如果下拉列表显示此值,则需要此列。

Image of cell with column selected being the ui-select dropdown..you can see it displaying the id of the underlying field

现在选择下拉列表的图像:

Dropdown when selected

单击时,下拉列表显示item.orebodyName。显然,它的projectorebody_id是从数据库表中读取并输入到数据库表中的,但我希望单元格显示orebodyName(就像使用MS Access一样)。

感激不尽的任何帮助。

2 个答案:

答案 0 :(得分:0)

用ui-select-match标签中的 item.orebodyName $ select.selected.orebodyName替换COL_FIELD。 (如果我理解你的问题!)

答案 1 :(得分:0)

我发现该怎么做..这是使用COL_FIELD让我感到困惑......我用我的情况替换了标准的$ select.selected。[fieldname](即{{$ select.selected.orebodyName}} )它工作正常。