MI页面间传值可以分为两种情况,第一种是弹出窗口,第二种是页面流转。
第一种,一般是用:Dialog(),open()来新打开一个窗口,但是实际上MI认为还是同一个窗口。
如A窗口是一个用户列表叫:list.xml,B窗口是详细信息页面detail.xml.当点击A页面列表的某一项是弹出窗口显示这一行的详细信息。
这样可以在点击grid的方法中用open("list.xml",""); 然后在B页面直接用A定义的dataset:ds_user,var name = ds_user.getColumn(ds_user.row,"name");其中ds_user.row是这个dataset被选中的行数。
第二种,一般是用go(),比较麻烦需要用到全局变量.还是上面的例子,当点击A的grid的时候,用go("list.xml"),并且把name的值赋值给全局变量glo_name。在B页面中得到全局变量:var name = glo_name;这里需要注意的是,每次用完全局变量最好把它情况。不过这样做放在jsp中时会不起作用,你需要复制一份*_main_win32.xml文件,并起名为.jsp,并且在main.jsp中把startXml改为*_main_win32.jsp。