grid点击用gridSelect下拉的列时设置焦点在gridSelect中并显示下拉

在grid中放可编辑组件gridSelect时,平台默认的需点击两次才可以把焦点定位到gridSelect中并显示下拉 可以参考下面的方案实现点击一次就定位到gridSelect中并显示下拉 grid点击会触发onRowClick事件,可以先判断点击的是不是gridSelect所在的列,然后操作gridSelect,具体如下: Model.prototype.mainGridRowClick = function(event){ var grid = event.source; var rowID = event.rowID; var td = event.domEvent.target;//获取触发事件的dom节点 if(td.tagName.toUpperCase()!='TD') {//当grid的列中放了input等组件时,获取的当前元素不是td td = $(td).closest('td')[0];//获取到对应td } var index = $.jgrid.getCellIndex(td);//获取列索引 var colDef = event.source.getColDef(index);//获取列定义 var gridselect [...]

grid中用gridSelect实现存储ID显示名称

数据库中存的是数字,grid中用gridSelect下拉显示名称可以参考下面的方案 案例一:queryAction中用case when实现,fSex中存储0或1显示男或女 1.queryAction中select中添加自定义字段custom3设置case when select AP_CBM.*,(case when AP_CBM.fSex ='0' then '男' when AP_CBM.fSex ='1' then '女' else '' end) as custom3 from AP_CBM AP_CBM 2.grid的column(列)中添加custom3,不需要添加fSex 3.在custom3列中放gridSelect进行设置,bind-ref设置为fSex,bind-labelRef设置为custom3, option下相关属性的设置 data:要下拉的数据来源 value:下拉的数据来源的ID列 label:下拉数据的数据来源的name列 案例二:queryAction中有关联查询实现,fCreator中存储人员ID显示人员名称 1.queryAction中关联查询SA_OPPerson中的数据返回人员名称sName [...]

dataTables如何设置边框样式

dataTables组件的class提供的有table-bordered控制显示边框,默认是没有勾选的,如果要显示边框编辑class属性把这个样式勾选上 如果要修改table-bordered的默认样式可以通过下面的css修改 .table-bordered>thead>tr>th, .table-bordered>tbody>tr>th, .table-bordered>tfoot>tr>th, .table-bordered>thead>tr>td, .table-bordered>tbody>tr>td, .table-bordered>tfoot>tr>td{ border: 1px solid #dddddd; }

grid如何设置边框样式

grid组件上默认有x-grid-no-bordered样式控制不显示边框 如果要显示边框可以把grid的class属性上这个样式去掉 如果要修改默认边框的样式可以,通过修改下面的class实现 /* grid表头边框 */ .x-th-ltr,.x-grid .x-grid-htable th.x-th-ltr { border-right: 1px solid #dddddd; border-left: 1px solid #dddddd; } /* grid内容边框 */ .x-grid tr.x-row-ltr td{ border-right: 1px solid #dddddd; border-left: 1px solid #dddddd; } [...]

dataTables如何动态设置单元格背景颜色

可以在dataTables的onCellRender中通过列获取对应的单元格设置其背景颜色,如下 Model.prototype.listDataCellRender = function(event) { var dataTables = event.source; var row = event.row; if (event.colName == 'fName' && event.colVal == 'andTest') { setTimeout(function() { var cell = dataTables.getCell(row, event.colName);//获取单元格 if (cell) { var $td [...]

attachmentSimple如何控制上传个数

attachmentSimple组件平台默认没有提供控制上传个数的属性,可以判断已上传的文件控制控制上传按钮不显示实现 控制上传按钮不显示,可以在上传按钮对应的元素的visible上设置,默认设置的是visible:$state.get() == 'upload' 可以再用js中表达式的语法用&&拼接上个数的控制,如下是控制上传3个后上传按钮就不显示了

list中的如何实现类似与grid的全选

grid中可以通过设置multiselect属性实现多选和全选/全取消 list中没有这样的属性要实现多选需要自己在行中放checkbox 要实现全选/全取消需要在list外放一个checkbox,通过这个checkbox的选择和取消选择控制list中所有行的checkbox都选择或都取消选择 具体实现如下: 1.data中定义一列如:checkCol 2.在list中添加checkbox设置bind-ref为checkCol 3.设置checkCol的checkedValue为1,uncheckedValue为0 4.在list外面放一个checkbox,在这个checkbox的onChange事件中判断是选择或取消,遍历data控制checkCol的值为1或0 Model.prototype.checkbox1Change = function(event) { var data = this.comp("data1"); if (event.checked) { data.each(function(param) { param.row.val("checkCol", "1"); }); } else { data.each(function(param) { param.row.val("checkCol", "0"); }); } }; [...]

popPicker组件如何获取选择的值

popPicker组件是内置的picker组件,获取值可以通过获取内置picker组件,调用picker组件的API获取 popPicker组件在点确定的时候会触发onOK事件,因此可以在onOK事件中获取值 需要注意的是popPicker中可以添加多个picker显示多列不同的数据进行选择,所以在获取值的时候需要注意区分不同的picker获取对应列的数据 如下:通过判断popPicker中picker的xid不同获取对应的列值 Model.prototype.popPickerOK = function(event){ var innerPickers = event.source.getInnerPickers();//获取内部的picker组件对象数组 for(var i=0;i<innerPickers.length;i++){ //根据picker组件的xid获取对应的列数据 if(innerPickers[i].$domNode.attr("xid") == 'list1'){ var fClass = innerPickers[i].getSelectedItem().val("fClass"); } else if(innerPickers[i].$domNode.attr("xid") == 'list2'){ var fDate = innerPickers[i].getSelectedItem().val("fDate"); } } };