EXTJS GridPanel 右键复制当前选中单元格

轻松搞定ExtJS(高清,中文,可复制,语法+例子更易懂) 第01章:序 第02章:准备与资源 第03章:Ext OOP基础 第04章:消息框 第05章:页面与脚本完全分离 第06章:元素操作与模板 第07章:格式化 第08章:Extjs组件结构 第09章:按钮与日期选择器 第10章:数据与ComboBox 第11章 立即下载
EXTJS中复制Grid中当前单元格的内容是一个比较常见的需求,最常见的解决方法就是添加新的css样式,具体可以参考:http://blog.youkuaiyun.com/dy_paradise/article/details/5212389 

       其实呢不用这么麻烦的,EXTJS API其实提供了相应的事件让开发者可以通过添加监听事件来到达选中当前单元格并取得当前单元格的内容。下面以右击为例(左键单击相同),具体的实现功能是右键点击当前单元格选中当前单元格并弹出右键菜单,右键菜单有复制、修改和删除3个常见功能,具体效果如下:


1、首先实现一个右键菜单(gridpanel实现略过)

[javascript] view plain copy
  1. var rightMenu = new Ext.menu.Menu( {  
  2.     id : 'rightClickCont',  
  3.     items : [{  
  4.         id:'rMenu1',  
  5.         text:'复 制',  
  6.         icon:'../img/icon/copy.png',  
  7.         handler:copy  
  8.         },{  
  9.         id:'rMenu2',  
  10.         text:'修 改',  
  11.         icon:'../img/icon/modify.png',  
  12.         handler:modify  
  13.         }, {  
  14.         id:'rMenu3',  
  15.         text:'删 除',  
  16.         icon:'../img/icon/clear.png',  
  17.         handler:del  
  18.         }]  
  19. });  

2、为gird添加监听事件(注意:下面语句写在Ext.onReady(function(){}中)

[javascript] view plain copy
  1. //右击行触发事件  
  2. gridPanel.addListener('rowcontextmenu', rightClickFn);  

        这里的'rowcontextmenu'即右击行(row)时触发,使用这个事件的目的是为了取得当前行的主键,以便实现修改和删除功能,若只是纯粹想实现右键复制的功能可以不用添加这个事件,后文介绍。

3、实现监听事件的函数rightClickFn

[javascript] view plain copy
  1. function rightClickFn(gridPanel, rowIndex, e) {  
  2.     e.preventDefault();  
  3.     rightMenu.showAt(e.getXY());  
  4.     //gridpanel默认右击是不会选择当前行的,所以必须添加这句代码  
  5.     gridPanel.getSelectionModel().selectRow(rowIndex);  
  6. }  

4、实现删除和修改功能

     这里可以根据以下代码取得当前行的数据:

[javascript] view plain copy
  1. var record = gridPanel.getSelectionModel().getSelected();  

   功能的具体实现不是本文的在重点,请按照需求自己实现。但是这里可以给你一个简单的修改功能的模块供大家参考:

[javascript] view plain copy
  1. function modify(rowIndex) {  
  2.     var record = gridPanel.getSelectionModel().getSelected();  
  3.     //以下代码为点击修改后带出该条记录信息  
  4.     Ext.getCmp("title").setValue(record.get("title"));  
  5.     if(record == undefined) {  
  6.         Ext.Msg.alert('提示信息','未选择任何数据!');  
  7.     }  
  8.     else {  
  9.         var win = new Register.MicWin({  
  10.             title:"修改文章",  
  11.             buttons:[{  
  12.                  text:"确 定",  
  13.                  handler:function() {  
  14.                      Ext.Ajax.request({  
  15.                          url:'article!updateArticle.action',  
  16.                          params:{  
  17.                             //传递参数  
  18.                          },  
  19.                          success:function(request){  
  20.                             Ext.Msg.alert('提示信息','文章修改成功!');  
  21.                             win.close();  
  22.                             store.reload();  
  23.                         },    
  24.                         failure:function(){  
  25.                             Ext.Msg.alert('错误信息','系统错误');  
  26.                         }    
  27.                     })  
  28.                  }                  
  29.                  },{  
  30.                     text:"取 消",  
  31.                     handler:function(){//点击时触发的事件      
  32.                         win.close();      
  33.                     }  
  34.                  }]  
  35.         });  
  36.         win.show();  
  37.     }  
  38. }  

5、为grid添加监听单元格事件:

[javascript] view plain copy
  1. gridPanel.addListener('cellcontextmenu',cellclick);  

        这里的'cellcontextmenu'即右击单元格(cell)时触发,然后实现cellclick函数。注意这里的cellclick()函数与上文中rightClickFn()函数的参数,可以看到这里的参数多了一个columnIndex,根据columnIndex来定位单元格的位置。根据以下代码可以取得当前单元格的值。

[javascript] view plain copy
  1. //获取选中行选中列的值    
  2. function cellclick(grid, rowIndex, columnIndex, e) {     
  3.     var record = grid.getStore().getAt(rowIndex);  
  4.     var fieldName = grid.getColumnModel().getDataIndex(columnIndex);  
  5.        //info为一个全局变量   
  6.     info = record.get(fieldName);  
  7. }  

6、实现复制功能

[javascript] view plain copy
  1. function copy() {  
  2.     var record = gridPanel.getSelectionModel().getSelected();  
  3.     if(record == undefined) {  
  4.         Ext.Msg.alert('提示信息','未选择任何数据!');  
  5.     }  
  6.     else {  
  7.         copyToClipboard(info);  
  8.      }  
  9. }  

        到这里所有的功能基本上就全部实现了,不用添加新的css也可以解决这个问题,copyToClipboard方法的代码为网上拷贝,具体实现下面给出有具体代码,大家可以参考。

[javascript] view plain copy
  1. function copyToClipboard(txt) {    
  2.      if(window.clipboardData) {     
  3.              window.clipboardData.clearData();     
  4.              window.clipboardData.setData("Text", txt);     
  5.      } else if(navigator.userAgent.indexOf("Opera") != -1) {     
  6.           window.location = txt;     
  7.      } else if (window.netscape) {     
  8.           try {     
  9.                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");     
  10.           } catch (e) {     
  11.                alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将'signed.applets.codebase_principal_support'设置为'true'");     
  12.           }     
  13.           var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);     
  14.           if (!clip)     
  15.                return;     
  16.           var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);     
  17.           if (!trans)     
  18.                return;     
  19.           trans.addDataFlavor('text/unicode');     
  20.           var str = new Object();     
  21.           var len = new Object();     
  22.           var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);     
  23.           var copytext = txt;     
  24.           str.data = copytext;     
  25.           trans.setTransferData("text/unicode",str,copytext.length*2);     
  26.           var clipid = Components.interfaces.nsIClipboard;     
  27.           if (!clip)     
  28.                return false;     
  29.           clip.setData(trans,null,clipid.kGlobalClipboard);     
  30.      }     
  31. }   


本文转自:http://blog.youkuaiyun.com/csc0211/article/details/7611876


Ext.grid.GridPanel右键菜单 右键菜单的资料,代码已经详细描写。请仿照文件中所描述即可使用,不限于EXT4.0以上版本使用。 立即下载

相关推荐

ExtJs grid行 右键菜单的两种方法

ExtJs grid行 右键菜单的两种方法,需要用extjs制作右键菜单的朋友可以参考下。

Extjs gridPanel 选中的行创建右键菜单

在这下边: 方法一 代码如下:     http://www.w3.org/1999/xhtml">    无标题页              .panel_icon11 { background-image:url(images/first.gif)}  .center_icon { background-image:url(images/center.p

Cherry_tly的专栏 916

extjs表格文本启用选择复制功能具体实现

extjs提供了方便的表格组件grid供使用,但是默认情况下表格中的文本是不能被选中的,自然也是无法复制的。 而选择复制文本的需要也是很平常的,于是我们就需要自己动手来解决这个问题,实现extjs的grid文本选择复制功能。 说明一点,文中所列出的代码片断都是在当前ext 4.0.2a版本下的,其它版本未做测试,请自行斟酌。 首先自定义一下样式,来覆盖默认的css样式: 代码如下: <style type=”text/css”> .x-selectable, .x-selectable * { -moz-user-select: text!important; -khtml-user-sel

Extjs 设置grid文本允许复制

添加 enableTextSelection:true viewConfig:{ enableTextSelection:true } Ext.create('Ext.grid.Panel', { title: 'Simpsons', store: Ext.data.StoreManager.lookup('simpsonsStore'), columns:...

西蒙老爷的博客 1369

手把手教你分析解决Innovus DRC Violation 和Antenna Effect Violation

数字IC后端设计培训教程之手把手教你分析解决Innovus DRC Violation 和Antenna Effect Violation

weixin_37584728的博客 2934

Cox构建预测模型(5):如何用R语言绘制校准曲线(附全套代码)

这篇文献通过绘制两个模型的DCA曲线来评估模型的临床决策实际需求,一个是列线图模型,包括纳入列线图的全部变量,一个是TNM模型,只纳入TNM分期3个变量。A图是训练集1年、3年、5年患者的总生存期的DCA曲线;B图是训练集1年、3年、5年患者的总生存期的DCA曲线,红色线条代表列线图模型(包括构建模型的10个变量),黄色线条代表TNM模型(仅纳入TNM分期3个变量),两个模型对比,在绘制校准图之前,必须要完成数据的导入、拆分数据集的工作、预测因子的筛选,校准图的绘制是分别在训练集与验证集独立进行的。

qq_37610365的博客 1360

Extjs右键菜單

Extjs右键菜單

x1043556915的博客 275

不修改MMDetection源码使用自定义数据和模型

以目标检测为例,用非侵入式的模型和MMDetection数据的方法进行配置。也就是不改动MMDetection的任何源码或目录的条件下,使用自定义数据训练自定义模型。

Dlite的技术笔记 1341

Extjs页面实现行复制功能

在使用Extjs编写页面过程中,需要使用到行复制。但是Extjs没有好的支持。 自己做了一个扩展。需要用到一个复制内容到剪贴板的js文件。 主要代码: 重写GridPanel,打开鼠标右键事件,添加一个右键菜单。 其中Clipboard是需要加载的js。 Ext.override(Ext.grid.GridPanel, { stripeRows: true, colu

yqc921015的博客 6602

LC-3 机器语言 指令集

生活本就沉闷,但跑起来就有风

笔记 1万+

【具身算法】VLA算法-Diffusion Policy

《扩散策略:多模态机器人控制的新方法》摘要 本文提出了一种基于扩散模型的机器人控制策略(DiffusionPolicy),用于解决视觉运动控制中的多模态行为、高维动作空间和训练稳定性问题。该方法利用去噪扩散概率模型(DDPM)生成动作序列,通过迭代优化处理复杂动作分布,显著提升了性能。实验表明,在15项机器人操作任务中,扩散策略平均性能提升46.9%,有效解决了传统显式/隐式策略的局限性。其核心优势在于:1)优雅建模多模态动作分布;2)适应高维动作空间;3)训练过程稳定。未来工作将探索与强化学习的结合及计算

puzhinan7781的博客 1390

ExtJs疑难杂症之GridPanel单元格不能选中复制问题

Ext.grid.GridPanel有一个重大缺陷,就是单元格的内容不能选中,没法选中就没法复制,给用户带来很多不便。分析:用IE Developer Toolbar打开ExtJs输出的代码研究了一下,发现每个单元格的div都有一个属性:unselectable="on",看来是css在作怪。版本:2.2解决办法:extJs官方论坛上有具体的解决办法,比较可行的如下。s

Kevin的程序人生 6717

【5G】5G 核心网(5GC)基本架构

本文旨在科普5G核心网相关知识...

Learning makes me happy (0^◇^0) 4万+

[转]ExtJs疑难杂症之GridPanel单元格不能选中复制问题

Ext.grid.GridPanel有一个重大缺陷,就是单元格的内容不能选中,没法选中就没法复制,给用户带来很多不便。 分析: 用IE Developer Toolbar打开ExtJs输出的代码研究了一下,发现每个单元格的div都有一个属性:unselectable="on",看来是css在作怪。 版本: 2.2 解决办法: extJs官方论坛上有具体的解决办法,比较可行的如下。 step

xiangliling的专栏 375

基于毫米波生物感知雷达+STM32设计的独居老人居家监护系统(微信小程序)(192)

当前基于STM32设计的独居老人居家监护系统为独居老人提供一种简便、实时的健康监护服务。该系统通过集成多种传感器和功能模块,能够实时监测老人的生理指标、姿态以及室内环境状况,并通过微信小程序远程显示数据,当出现异常情况时及时发出报警提醒。

1万+

insightface scrfd人脸检测测试

pip install mmdet 自动安装mmcv win10上可以,服务器上没成功

jacke121的专栏 4022

ExtJs4.0 GridPanel 单元格、数据内容不能选中复制的解决办法。

  在extjs2.0的Ext.grid.GridPanel单元格的内容不能选中,没法选中就没法复制,给用户带来很多不便。似乎也没提供属性配置。在网上找到的一些解决办法但不适用于ExtJs4.0。研究半天,覆盖了css,但只在非ie的浏览器有效。修改了extjs源码才解决了在ie的问题。 1、css代码: <style type="text/css"> ...

aosd53169的博客 223

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ext不能选中复制属性_ExtJs4.0 GridPanel 单元格、数据内容不能选中复制的解决办法。...

在extjs2.0的Ext.grid.GridPanel单元格的内容不能选中,没法选中就没法复制,给用户带来很多不便。似乎也没提供属性配置。在网上找到的一些解决办法但不适用于ExtJs4.0。研究半天,覆盖了css,但只在非ie的浏览器有效。修改了extjs源码才解决了在ie的问题。1、css代码:.x-grid-row{line-height:13px;vertical-align:top;pa...

weixin_39924481的博客 285

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

ExtJs GridPanel单元格不能选中复制

Ext.grid.GridPanel有一个重大缺陷,就是单元格的内容不能选中,没法选中就没法复制,给用户带来很多不便。 分析: 用IE Developer Toolbar打开ExtJs输出的代码研究了一下,发现每个单元格的div都有一个属性:unselectable="on",看来是css在作怪。 版本: 2.2(版本3.2.1测试通过) 解决办法: extJs官方论坛上有具体的解决办法,比

星空 1393

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

ExtJs的Ext.grid.GridPanel不能选择复制表格中的内容解决方案

今天遇到grid复制的问题,在网上找到了一个解决办法,只需改下CSS和JS,给大家分享一下: 本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/dy_paradise/archive/2010/01/19/5212389.aspx Ext.grid.GridPanel有一个重大缺陷,就是单元格的内容不能选中,没法选中就没法复制,给用户带来很多不便。 分析:...

diadangai6018的博客 214

ext不能选中复制属性_如何实现Extjs的grid单元格只让选择(即可以复制单元格内容)但是不让修改?...

自己动手丰衣足食啊,还得自己来解决 在extjs2.0的Ext.grid.GridPanel单元格的内容不能选中,没法选中就没法复制,给用户带来很多不便。似乎也没提供属性配置。在网上找到的一些解决办法但不适用于ExtJs4.0。研究半天,覆盖了css,但只在非ie的浏览器有效。修改了extjs源码才解决了在ie的问题。1、css代码:.x-grid-row{line-height:13px;ver...

weixin_33882158的博客 288
上一篇: Hibernate 注册自定义类型
下一篇: oracle 替换列中null值
without0815
博客等级 码龄15年 107粉丝 79原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值