建议在本地安装Portal环境进行开发,这样调试等比较方便,但是这样相应的对开发机器的配置要求很高。WDF开发还是建议使用配置较高的机器,不然速度会很慢。而且WDF目前不稳定,经常会崩溃,一定要多保存。
示例1 向下钻取的图表
新建一个WPF工程,然后在其中新建一个模型。
添加两个SQL Call(SQL调用)组件。
这两个SQL Call完成不同的数据库查询任务。
这个示例中第一个SQL Call用来读取用户列表,然后根据用户ID去查询课程预订信息。
可以通过“Fetch DataSource Names”获取JNDI数据源信息,然后选择对应的数据源。数据源需要在开发前就在WAS中配置好。
输入SQL语句。
此时我们先不添加第二个SQL Call组件,先添加“Summary and Drilldown(统计和下钻)”组件,在“Initialization Action”中选择刚才创建的queryUsr组件,然后WDF会自动填写下面“Summary Data”的内容。
选择“Only Table”,因为我们要显示的是用户列表,不是数字数据,所以不需要图表。
确认“Create Main Action”选择的是Yes。每个模型都需要一个main主函数作为程序入口,这和一般的程序都是一样的。就算你自己创建多个Action List(操作列表),也要注意一定要保证有一个名为main的操作列表作为主入口。
“Column For Link(链接列)”选择用户ID字段。HTML模板都使用默认的即可。
保存一下。然后添加第二个SQL调用组件。
SQL语句为“select * from enrollment where user_oid = ?”,?就是参数。然后在参数列表中添加对应参数,“Parameter Binding(参数绑定)”最好用手动比较好,自动的话经常会带来一些莫名其妙的问题,常常会导致程序无法正常运行。“JDBC Type Cast”也最好不要使用自动,指定具体类型比较好。
参数值当中选择${Variables/queryTest_SelectedRowData/Row/OID},这可以通过点击旁边的浏览按钮查找到。这说明传入参数值就是当前选中行OID列的值。
添加第二个SQL Call组件完成后,再切换到“Summary and Drilldown”组件,选择“Drilldown Type”为“Call an Action and Display Data”,启用数据下钻。“Action To Call”选择刚才创建的第二个SQL调用。其它都接受默认值即可。
最后我们完成的模型如下。
然后就可以在服务器上运行看看效果了。
可以看到首先是用户信息列表,OID该列是链接可以选择。
点击链接后即会显示该用户的具体相关信息。
各个组件的其它属性读者可以自己去尝试设置看看效果。