有没有机会在itemPress事件中获取压缩单元格的值?当有人按下列中的单元格时,我想设置工具提示。或者,是否可以仅在单元格上注册此事件?
我正在使用基于XML视图的SmartTable(响应式 - > sap.m.table):
script(type='text/javascript' src='/lib/map.js' defer='defer')
或者以某种方式将图标/图像合并到单元格值并为其设置工具提示会更好吗?
答案 0 :(得分:0)
通过单元格的itemPress事件设置tooptip通常不是一个很好的做法。
您可以在列标题中设置工具提示,也可以自定义显示工具提示的列项。
您可以自定义SmartTable
的内部表格,例如,列标题和列项目,如下所示。更多信息请参阅here。
<smartTable:SmartTable entitySet="LineItemsSet"
smartFilterId="smartFilterBar" tableType="ResponsiveTable"
useExportToExcel="true" useVariantManagement="false"
useTablePersonalisation="true" header="Line Items" showRowCount="true"
persistencyKey="SmartTableAnalytical_Explored" enableAutoBinding="true"
demandPopin="true" class="sapUiResponsiveContentPadding">
<Table>
<columns>
<Column width="100px" hAlign="Left">
<customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "Dmbtr", "maxLength": "5","columnIndex":"4", "leadingProperty": "Dmbtr"}' />
</customData>
<Text text="{/#LineItems/Dmbtr/@sap:label}" />
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Text
text="{Dmbtr}" />
</cells>
</ColumnListItem>
</items>
</Table>
</smartTable:SmartTable>
如果要显示有关此列的常规信息,请设置列标题的工具提示。
<columns>
<Column width="100px" hAlign="Left">
<customData>
<core:CustomData key="p13nData"
value='\{"columnKey": "Dmbtr", "maxLength": "5","columnIndex":"4", "leadingProperty": "Dmbtr"}' />
</customData>
<Text text="{/#LineItems/Dmbtr/@sap:label}" tooltip = "YOUR TOOLTIP"/>
</Column>
</columns>
为每个单独的单元格设置工具提示。
<items>
<ColumnListItem>
<cells>
<Text text="{Dmbtr}" tooltip = "YOUR TOOLTIP"/>
</cells>
</ColumnListItem>
</items>
答案 1 :(得分:0)
还有一件事,当我想添加第二列时,我无法绑定它,就数据而言,数据不是来自我的entitySet,列保持为空。如果我放一个硬编码的文本,那么它就会被普及。有什么线索的原因?
for(int i = 1; i < 13; i++){
String str = Integer.toString(i);
mRef.child("calendar").child(str).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String start_date = (String) dataSnapshot.child("start_date").getValue();
String end_date = (String) dataSnapshot.child("end_date").getValue();
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("start_date", start_date);
jsonObject.put("end_date", end_date);
Log.d("obje", "" + jsonObject);
array.put(jsonObject);
} catch (JSONException e) {
e.printStackTrace();
}
Log.d("start_date", start_date);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}