我有一个管理事件的应用程序。每次活动都可以预订几个房间。因此,我为EVENTS
,ROOMS
和ROOM_BOOKINGS
创建了表。
EVENTS
与ROOM_BOOKINGS
具有一对多关系,而后者本身与ROOMS
具有多对一关系。
现在,我想从活动详细信息页面触发弹出窗口,以为活动创建新的房间预订。使用表单生成器,我得到了一个与房间绑定相关联的事件的下拉列表。
我想将此表单的下拉菜单设置为当前事件详细信息页面上显示的事件的新房间预订,并禁止用户进行编辑。
我尝试使用触发弹出窗口的按钮设置下拉菜单的选项:
app.popups.AddRoomBooking.visible = true;
var currentEvent = [widget.datasource.item];
app.popups.AddRoomBooking.descendants.roomsbookedField.options = currentEvent;
但这不仅让人感到奇怪,而且还行不通,返回:
2018年7月6日星期五12:18:10 GMT + 200预计匹配的日期 清单。在 EventDetailPage.roomBookingPanel.room_bookings_table.addRoomBooking.onClick:4:64
我猜最基本的问题是,如果下拉列表代表多对一关系,我不知道该传递什么。
答案 0 :(得分:0)
我认为最好的方法是将下拉列表值绑定到要更新的数据源字段,然后脚本应在数据源上设置该值,然后下拉列表将显示数据源值。
因此,例如,如果下拉列表具有选项A,B或C,并且下拉列表VALUE绑定到创建数据源关系字段X,则脚本将为: CreateDatasource.item.fieldX = widget.datasource.item (或者,如果关系字段很多,则CreateDatasource.item.fieldX.push(widget.datasource.item)。