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

Brainstorm简单分析近红外数据(fNIRS)(一)

Brainstorm分析fNIRS数据

weixin_43604817的博客 1352

Matlab安装Embedded Coder Support Package for Texas Instruments C2000 Processors教程

Matlab安装Embedded Coder Support Package for Texas Instruments C2000 Processors

m0_69133594的博客 2824

Extjs右键菜單

Extjs右键菜單

x1043556915的博客 275

Kinect V1结构光激光散斑原理及样式

   对 intel realsense F200 和 Kinect V1的coding pattern原理进行调研,知二者都使用light coding的方式,该方法与传统的coded structure light不同:传统编码结构光(空间编码,时间编码)最终使用的是三角测量的原理计算深度信息;light coding通过投射具有高度伪随机性的激光散斑,会随着不同距离变换不同

松间明月 1万+

Extjs页面实现行复制功能

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

yqc921015的博客 6602

Hypermesh二次开发实战:Tcl命令分类与常用函数详解(附避坑指南)

本文深入解析Hypermesh二次开发中Tcl命令的三大核心类别:界面命令、查询命令与修改命令。重点剖析了*createmark集合管理与hm_getvalue信息查询等关键函数的实战用法,并提供了避免Mark覆盖、生命周期管理等常见陷阱的实用指南,旨在帮助CAE工程师构建高效可靠的自动化前处理流程。

weixin_29233333的博客 240

Zemax热分析实战:5分钟搞定双胶合透镜温度漂移优化(附操作数详解)

本文详细解析了使用Zemax进行光学系统热分析的全流程,以双胶合透镜为例,重点阐述了如何通过多重结构编辑器模拟温度变化,并利用关键操作数优化系统以抵抗温度漂移。文章提供了从基础设置到高级优化的实战技巧,帮助工程师快速掌握无热化设计方法,确保系统在宽温范围内保持稳定成像性能。

n4o5p6q7r的博客 397

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

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

Kevin的程序人生 6717

ANSA二次开发在线帮助:ANSA和μETA API文档

  为了方便大家学习ANSA二次开发,我将ANSA和μETA二次开发的官方文档整合到了我的个人网站CAECoder中,大家点击ANSA和μETA API官方帮助文档进行访问即可查看。   本站也将开展对ANSA和μETA API文档的翻译工作,请大家持续关注! ANSA和μETA API文档   ANSA和μETA脚本接口是一个应用程序编程接口(API),允许开发人员访问ANSA和μETA核心功能和数据。   ANSA和μETAAPI是Python编程语言的扩展。 Python Python简.

CAECoder 4321

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

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

xiangliling的专栏 375

马达种类全解析:VCM、Stepper、Piezo 在手机相机中的驱动原理与工程差异

在现代手机影像系统中,马达承担着核心成像组件的动态调节任务,如自动对焦(AF)、光学防抖(OIS)以及变焦调节。目前主流采用三类驱动器件:VCM(Voice Coil Motor)、Stepper(步进马达)、Piezo(压电马达)。不同马达方案在结构复杂度、响应速度、功耗、驱动方式与模组厚度适配等方面差异显著,对成像系统的性能表现有直接影响。本文将结合最新旗舰设备的应用现状,系统剖析这三类驱动马达的工作原理、架构特点与工程应用经验,为工程实践中选型与调试提供参考。

努力分享一些人工智能、计算机视觉、影像等相关的知识干货! 3778

innovus:InstPad、CellPad 、module padding、clock cell halo

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?site_num指的是padding的大小以site宽度为单位。

m0_61544122的博客 2024

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

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

aosd53169的博客 223

深度学习工具包 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")

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

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ExtJs GridPanel单元格不能选中复制

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

星空 1393

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

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、付费专栏及课程。

余额充值