我试图实现一个智能过滤器栏和一个智能表。该表似乎运行正常,但智能过滤器栏无法正常工作。
以下是该视图的代码:
SmartField.view.xml
<mvc:View xmlns="sap.m" xmlns:mvc="sap.ui.core.mvc"
xmlns:core="sap.ui.core"
controllerName="smarttable.smarttable.SmartField"
xmlns:smartFilterBar="sap.ui.comp.smartfilterbar"
xmlns:l="sap.ui.layout" xmlns:smartTable="sap.ui.comp.smarttable">
<smartFilterBar:SmartFilterBar
id="smartFilterBar" entityType="DATASet" entitySet="DATASetSet" filterBarExpanded="true">
<smartFilterBar:controlConfiguration>
<smartFilterBar:ControlConfiguration
key="EmpId" visibleInAdvancedArea="false"
preventInitialDataFetchInValueHelpDialog="true"></smartFilterBar:ControlConfiguration>
</smartFilterBar:controlConfiguration>
</smartFilterBar:SmartFilterBar>
<OverflowToolbar design="Transparent">
<ToolbarSpacer />
<OverflowToolbarButton icon="sap-icon://add"
text="Add" press="AddRow" />
<OverflowToolbarButton icon="sap-icon://delete"
text="Delete" press="Delete" />
</OverflowToolbar>
<smartTable:SmartTable id="tableplant"
smartFilterId="smartFilterBar" tableType="ResponsiveTable"
editable="false" entitySet="DATASetSet"
initiallyVisibleFields="EmpId,Firstname,Lastname,Gender,Skills,Address,Designation"
useVariantManagement="true" demandPopin="true"
class="sapUiResponsiveContentPadding" useTablePersonalisation="true"
header="DATASetSet" showRowCount="true" useExportToExcel="true"
enableAutoBinding="true">
<Table id="Ptable" growing="true" alternateRowColors="true"
growingScrollToLoad="true" width="auto" mode="MultiSelect">
<columns>
<Column>
<customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "EmpId", "leadingProperty": "EmpId", "filterProperty": "EmpId", "sortProperty": "EmpId", "type":"integer"}' />
</customData>
<Text text="Employee Id" />
</Column>
<Column>
<customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "Firstname", "leadingProperty": "Firstname","columnIndex":"02", "filterProperty": "Firstname", "sortProperty": "Firstname", "type":"string"}' />
</customData>
<Text text="First Name" />
</Column>
<Column>
<customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "Lastname", "leadingProperty": "Lastname","columnIndex":"03", "filterProperty": "Lastname", "sortProperty": "Lastname", "type":"string"}' />
</customData>
<Text text="Last name" />
</Column>
<Column>
<customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "Gender", "leadingProperty": "Gender","columnIndex":"04", "filterProperty": "Gender", "sortProperty": "Gender", "type":"string"}' />
</customData>
<Text text="Gender" />
</Column>
<Column>
<customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "Skills", "leadingProperty": "Skills","columnIndex":"05", "filterProperty": "Skills", "sortProperty": "Skills", "type":"string"}' />
</customData>
<Text text="Skills" />
</Column>
<Column>
<customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "Address", "leadingProperty": "Address","columnIndex":"06", "filterProperty": "Address", "sortProperty": "Address", "type":"string"}' />
</customData>
<Text text="Address" />
</Column>
<Column>
<customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "Designation", "leadingProperty": "Designation","columnIndex":"07", "filterProperty": "Designation", "sortProperty": "Designation", "type":"string"}' />
</customData>
<Text text="Designation" />
</Column>
</columns>
<items>
<ColumnListItem vAlign="Middle" type="Navigation"
press="onDetailsEvent">
<cells>
<Text text="{EmpId}" />
</cells>
<cells>
<Text text="{Firstname}" />
</cells>
<cells>
<Text text="{Lastname}" />
</cells>
<cells>
<Text text="{Gender}" />
</cells>
<cells>
<Text text="{Skills}" />
</cells>
<cells>
<Text text="{Address}" />
</cells>
<cells>
<Text text="{Designation}" />
</cells>
</ColumnListItem>
</items>
</Table>
</smartTable:SmartTable>
也许在智能过滤器栏中的绑定是错误的,但是我在智能表中使用了类似的绑定并且它起作用了。我使用自定义列来更改列的标签。另外,如果我使用命名模型,应该在智能表entitySet
中添加什么。