点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
知名专家
我需要你的帮助。
一个表由多列组成,其中两列选择另一个,即 地区取决于第一个,即国家/地区。
直到第1行一切正常。 添加第2行时,有时第1行的Region显示第2行的Region,类似于第二张图片。 上方的第3行区域已更改,选择项也已更改。
能不能帮我知道我要去哪里错了?
我使用了以下代码:
在表中:
<选择 selectedKey =" {tempModel> Country}" change ='onSelectTableCountry' items =" {path:'/CountrySet',templateShareable:'true'}">选择> <选择 selectedKey =" {tempModel> Region}" items =" {path:'/RegionSet',templateShareable:'true'}"> 选择>
在Json模型中:
" AddressSet":[{ "国家":"", "区域":"" }], " addAddress":{ "国家":"", "区域":"" }
在控制器中:
onSelectTableCountry:函数(oEvent){ var aSelectedCell = oEvent.getSource()。getParent()。getCells(); var SelectedCountry = aSelectedCell [6] .getSelectedKey(); var oBinding = oEvent.getSource()。getParent()。getCells()[7] .getBinding('items'); oBinding.filter([新的Filter([ 新的过滤器({ 路径:"平淡", 运算符:FilterOperator.EQ, 值1:SelectedCountry }) ])]); }, handleIdentifyAdd:function(oEvent){ var aTableData = this.tempModel.getProperty('/AddressSet'); var pData = jQuery.extend(true,{},this.tempModel.getProperty('/addAddress')); aTableData.push(pData); this.tempModel.setProperty('/AddressSet',aTableData); },
谢谢
戴维斯。
pic-1.jpg (19.8 kB)
除了使用单元格之外,您还应该仅基于模型...
因此,当您选择国家/地区时,然后将/RegionSet属性设置为仅过滤来自该国家/地区的项目。 您不需要使用单元格和其他所有内容。.如果明天您的单元格顺序发生变化,则您的应用程序将崩溃-这不是一个好习惯。
谢谢!
我按照您的建议尝试了。 这是我的观察。/Region中的数据保持不变,UI的行为与之前所述类似。 如果用户要更改其他行的区域,则select(区域模型)中的项目具有按上次更改的国家/地区过滤的数据,因此Region表中的数据将根据当前模型进行更改。
我觉得,我们需要根据在此选择的国家/地区,每行设置一个"区域模型"。
一周热门 更多>