简短地说:我有一个绑定到 oData 服务的智能表。这很好用。 但是,当我向视图添加新列时,oData 服务会再次被调用。 之前已经填充了这些列,因此无需再次致电。
有机会避免这种行为吗?
谢谢斯文
再次调用该服务,因为 SmartTable 在调用中添加了
$select
参数,仅请求您默认看到的列。因此,如果您使一个隐藏列可见,则需要额外调用来获取该列。
您可能会尝试使用
One-time
绑定来绑定 SmartTable,但随后所有行也会被获取。
您还可以使用
beforeRebind
事件在搜索参数上添加属性。
onBeforeRebindTable: function(oEvent) {
var oBindingParams = oEvent.getParameter("bindingParams");
if (oBindingParams.parameters.select.search("PropertyFoo") < 0) {
oBindingParams.parameters.select += ",PropertyFoo";
}
另请参阅 SmartTable FAQ 中的问题 7 - 如何获取不属于列/绑定 (select = 'ColA,ColB,foo,bar') 一部分的自定义列(图标、格式化程序等)的数据SmartTable 控件?