使用UI网格编辑功能时,可以在columnDefs
中指定单元格编辑参数。但这限制了一个在给定列的所有行中具有相同类型。
我有一种横向网格,其中每一行都是一个字段,每列都是一个实体。是否可以指定编辑参数每行,因此在一个列中,一行可以有一个下拉列表,另一行可以有一个文本框?
答案 0 :(得分:1)
您可以使用自定义模板,例如:
<div><div ng-if="row.entity.colType === 'text'">
<form name="inputForm">
<input
type="INPUT_TYPE"
ui-grid-editor
ng-class="'colt' + col.uid"
ng-model="MODEL_COL_FIELD">
</form>
</div>
<div ng-if="row.entity.colType === 'dropdown'">
<form
name="inputForm">
<select
ng-class="'colt' + col.uid"
ui-grid-edit-dropdown
ng-model="MODEL_COL_FIELD"
ng-options="field[editDropdownIdLabel] as field[editDropdownValueLabel] CUSTOM_FILTERS for field in editDropdownOptionsArray">
</select>
</form>
</div>
</div>
是可编辑单元格的基本示例,其类型因字段colType
而异。
我只是复制并粘贴了ui-grid.edit中的基本模板,并在每个模板周围放置了一个ng-if。
我构建了this plunker,但正如您所看到的,它在点击后不会隐藏输入,因此我猜您应该按照{{3}中的建议创建类似于uiGridEditor
的自定义指令}。