- 注册时间
- 2017-1-10
- 最后登录
- 2024-11-1
- 阅读权限
- 10
- 积分
- 333
- 精华
- 0
- 帖子
- 34
|
本帖最后由 jwf323594 于 2019-12-17 09:22 编辑
felt 发表于 2019-12-16 15:37
修改columnsMenu.js
_renderColumnTigger方法
谢谢,但是这里又有一个问题,动态渲染的表头,加上 menu = new ColumnsMenu(datagrid) 方法,ColumnsMenu.js里面执行一次grid.on("update", function (e) 的方法,然后页面上点击查询后,重新动态渲染表头,这次ColumnsMenu.js里面grid.on("update", function (e) 的方法一下执行了两次,导致下拉菜单出现了两层,再点击查询,就会执行三次,这是哪里的问题?
如图:
然后选择企业,点击查询按钮后,表头变化后,grid.on("update", function (e) 的方法执行了2次
部分代码如下:
- <script>
- mini.parse();
- var datagrid = mini.get("datagrid");
- var queryform = new mini.Form ("#queryForm");
- var company = mini.get("companyId");
- var menu;
- var companyList=company.getData();
- //getCompanyList();
- query(); //查询按钮
- function query() {
- if (queryform.validate()){
- var data = queryform.getData (true, false);
- datagrid.load(data, null, showLoadErrorMessageBox);
- }
- }
- datagrid.on("load",function(e){
- datagrid.setColumns("");
- //初始化固定不变的column
- datagrid.set({
- columns: [
- { type: "indexcolumn",width: 100,header: "检测因子",headerAlign: "center",align: "center"},
- { field: "companyId", width: 220, headerAlign: "center", header: "企业名称",align: "center"},
- { field: "monitorName", width: 140, headerAlign: "center", header: "采样地点",align: "center"},
- { field: "sampleDeepth", width: 140, headerAlign: "center", header: "采样深度",align: "center"},
- { field: "takeTime", width: 160, headerAlign: "center", header: "采样时间",align: "center"},
- { field: "sampleState", width: 120, headerAlign: "center", header: "样品状态",align: "center"},
- ]
- });
- var url="";
- if(company.getValue()==""){
- url="${ctx}/commonFunction/factorList.do?factorType=6";
- }else{
- url="${ctx}/monitorData/getSoilFactorListByCom.do?companyId="+company.getValue();
- }
- var columns=datagrid.getColumns();
- $.ajax({
- url: url,
- type: "post",
- async: false,
- success: function (text) {
- for(var i=0;i<text.length;i++){
- var addCell=
- {
- field:text[i].code+"_value",
- name:text[i].code+"_value",
- width: 120,
- headerAlign: "center",
- align: "center",
- allowSort: false,
- header: text[i].factorName + "<br>(mg/kg)"
- };
- var bCell=mini.decode(addCell);
- columns.insert(columns.length+1,bCell);
- }
- }
- });
- datagrid.setColumns(columns);
- menu = new ColumnsMenu(datagrid);
- datagrid.frozenColumns(0,4);
- });
复制代码
|
|