本文章为平时工做是遇到的一些Extjs特效,不定时更新,并不是彻底原创,若有意见或建议,请在下方留言,我会作出相应补充或处理。html
经过列的render属性改变样式数组
function(value, metaData, record, rowIndex, colIndex) { metaData.tdAttr = 'qclass="x-tip" data-qtitle="名称:" data-qwidth="200" data-qtip="'+ value + '"'; return value; }
Ext.define('V5.digao.view.Grid', { extend : 'Ext.grid.Panel', columnLines : true, xtype : 'cxbGrid', border : 0, id : 'cxb', viewConfig:{getRowClass:changeRowClass}, //核心代码 store : Ext.create('Ext.data.Store', { fields : ['ywzl','ywdy',"digao", "creator", 'status','wt','gz','jy'], data : [{ 'ywzl':'业务条线1' }] }); function changeRowClass(record, rowIndex, rowParams, store){ if(record.get('status') == '未建立'){ return "x-grid-black"; } if(record.get('status') == '草稿'){ return "x-grid-red"; } if(record.get('status') == '审计完成'){ return "x-grid-record-green"; } if(record.get('status') == '审批退回'){ return "x-grid-record-yellow"; } }
转载浏览器
经过列的render属性改变样式flex
function(value, metaData, record, row, col, store, view) { if (value) { if (value == 0) { return ""; } else { metaData.style = "background-image:url(../resource/icons/count.png);background-repeat: no-repeat;background-position: center"; return "<font color=black align=center><b>" + value + "</b></font>"; } } }
grid的defaults属性的值并不能影响到列的样式,须要在其columns属性中设置,columns的值能够是对象或数组。ui
Ext.create("Ext.grid.Panel",{ columns:{ defaults:{flex:1},//自适应宽度 items:[{ text:"text",dataIndex:"data" }] } })
实现经过点击按钮将特定内容复制到浏览器剪贴板的功能。url
function(_me) { var selections = _me.up("grid").getSelectionModel().getSelection(); if (selections.length < 1) { Ext.MsgHelper.error("请选择要复制的业务"); return; } var value = selections[0].get("recordId"); //在按钮的父容器中添加文本框 _me.ownerCt.add({ html: '<textarea style="position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;" name="copybtn123"></textarea>' }); var textarea = document.getElementsByName("copybtn123")[0]; textarea.value = value; // 修改文本框的内容 textarea.select(); // 选中文本 document.execCommand("copy"); // 执行浏览器复制命令 Ext.MsgHelper.info("复制成功:" + value); }
function onCopyClick(){ var copyHandler = function(event){ event.clipboardData.setData("text/plain","复制内容");//访问剪切板 document.removeEventListener("copy",copyHandler,false);//移除事件 event.preventDefault(); } document.addEventListener("copy",copyHandler,false);//绑定事件 document.execCommand("copy"); //执行复制命令 }
参考:Chrome浏览器读写系统剪切板.net
经过panel的tools属性可在面板的标题上加按钮rest
Ext.create("Ext.panel.Panel",{ tools:[{type:"help",handler:function(){ doSomething(); } },{ //自定义按钮 xtype:"button",text:"更多",ui:"dafault-toolbar",handler:function(){ alert("展现更多"); } }] })
type的值共有18种,以下:code
close 关闭
ExtJs中Tools的使用minimize 最小化
ExtJs中Tools的使用maximize 最大化
ExtJs中Tools的使用restore 回复
ExtJs中Tools的使用gear 设置
ExtJs中Tools的使用pin 锁定
ExtJs中Tools的使用unpin 解锁
ExtJs中Tools的使用right 向右
ExtJs中Tools的使用left 向左
ExtJs中Tools的使用up 向上
ExtJs中Tools的使用down 向下
ExtJs中Tools的使用refresh 刷新
ExtJs中Tools的使用minus 减号
ExtJs中Tools的使用plus 加号
ExtJs中Tools的使用help 帮助
ExtJs中Tools的使用search 搜索
ExtJs中Tools的使用save 保存
ExtJs中Tools的使用print 打印*/htm