Dorado7:搜索框下拉绑定,多窗口Grid
多窗口Grid
1. 创建TabControl
在View目录下新增SplitPanel
在MainControl下新建TabControl
2.根据业务需求新增窗口数
右击TabControl,新增IFrameTab,右侧属性栏中Caption属性是该窗口名称,path是这个IFrameTab存放的页面地址
3.编辑"步骤1"中的TabControl的onclick事件响应页面
//获取当前的TabControl
var currentTab = this.get("#tab").get("currentTab");
//获取点击的栏的路径
var path = currentTab.get("path");
if(path.indexOf("?")>0){
path = path.substr(0,path.indexOf("?"));
}
//跳转页面
currentTab.set("path",path+"?可携带参数(例如当前搜索框的数据)");
currentTab.refresh(false);
下拉框绑定
1. 新建queryForm
在SideControl目录下新建一个panel,在children的目录下新建一个queryForm
属性栏: Condition 设置为Model中的DataType(实体)
如果不知道dataType在哪里创建,点击这个 查看详情
2. 创建AutoFormElement
在queryform下新增AutoFormElement
属性栏:
name: 自取(最好和后台实体一致)
property和name值一致
trigger:自取(下拉框的数据来源)
3. 创建DataSetDropDown(数据来源)
在View下新建DataSetDropDown
属性栏:
autoOpen: True(始终打开)
displayProperty : 步骤2中的name值
dynaFilter: true(下拉框打开的时候有查询功能)
filterOnTyping: true(与ListDropDown中filterOnTyping的默认值为true不同,考虑到大量AJAX请求给服务器带来的压力,DataSetDropDown该属性的默认值为false)
property:步骤2中的name值
dataset:后台请求
4. 创建DataSet
在View下新建DataSet
属性栏:
DataProvider :向后台获取数据的url
结合下拉框查询和多窗口 实现查询的页面数据正确筛选
在查询按钮的onclick事件中
//获取下拉框所在的queryForm的实体
var query = this.get("#queryForm").get("entity");
//获取名称下拉框的值
var name= query.get("name");
//获取当前所在的窗口
var tab = this.get("#tab");
var tabIndex = 0;
tab.set("currentTab",tab.getTab(tabIndex));
var currentTab = tab.get("currentTab");
var path = currentTab.get("path");
if(path.indexOf("?")>0){
path = path.substr(0,path.indexOf("?"));
}
currentTab.set("path",path+"?name="+name);
currentTab.refresh(false);