1. 程式人生 > >extjs grid 複製問題另一種解決方案.

extjs grid 複製問題另一種解決方案.

之前的專案中雖然也經常使用到extjs,但或許是沒有注意到,也或許是根本就沒有需要用到這個功能.

前幾天在和客戶討論需求時,客戶說想要能夠將gird表中的資料複製出來,當時沒多想,感覺這功能extjs應該是支援的,應該配置一個後幾個引數就能搞定的吧.可是回來後查extjs的api才發現好像根本就沒有這個設定的.再回想之前的專案中,好像確實沒有做過這個功能.所以趕緊就到網上找了,也找個來一些解決方案,但感覺實現起來比較麻煩,也沒去試.

 今天再想到這個問題時,突然一個想法在腦海中閃現,應該能夠借用gird的單元格編輯功能來實現複製的效果吧.於是趕緊去測試下,結果還真可以,程式碼如下:

Ext.create('Ext.data.Store', {
    storeId:'simpsonsStore',
    fields:['name', 'email', 'phone'],
    data:{'items':[
        { 'name': 'Lisa',  "email":"
[email protected]
", "phone":"555-111-1224" }, { 'name': 'Bart', "email":"[email protected]", "phone":"555-222-1234" }, { 'name': 'Homer', "email":"[email protected]", "phone":"555-222-1244" }, { 'name': 'Marge', "email":"[email protected]", "phone":"555-222-1254" } ]}, proxy: { type: 'memory', reader: { type: 'json', root: 'items' } } }); Ext.create('Ext.grid.Panel', { title: 'Simpsons', store: Ext.data.StoreManager.lookup('simpsonsStore'), <span style="color:#ff6666;">plugins: [ Ext.create('Ext.grid.plugin.CellEditing', { pluginId:'rowEditing', clicksToEdit: 1 }) ],</span> columns: [ { text: 'Name', dataIndex: 'name' , <span style="color:#ff6666;">editor:{ xtype: 'displayfield' }</span> }, { text: 'Email', dataIndex: 'email', flex: 1 }, { text: 'Phone', dataIndex: 'phone' } ], height: 200, width: 400, renderTo: Ext.getBody() });

效果如下:

grid複製效果圖

感覺效果還不錯吧,

總結起來,優點很明顯就是實現簡單方便,支援各種版本的extjs.而確定就是不支援行復制,而且需要為每個column中都寫一個editor.

今天才發現,原來Extjs 本來就支援grid複製(增加viewConfig:{enableTextSelection:true}即可),哎... 程式碼如下:

Ext.create('Ext.data.Store', {
    storeId:'simpsonsStore',
    fields:['name', 'email', 'phone'],
    data:{'items':[
        { 'name': 'Lisa',  "email":"
[email protected]
", "phone":"555-111-1224" }, { 'name': 'Bart', "email":"[email protected]", "phone":"555-222-1234" }, { 'name': 'Homer', "email":"[email protected]", "phone":"555-222-1244" }, { 'name': 'Marge', "email":"[email protected]", "phone":"555-222-1254" } ]}, proxy: { type: 'memory', reader: { type: 'json', root: 'items' } } }); Ext.create('Ext.grid.Panel', { title: 'Simpsons', store: Ext.data.StoreManager.lookup('simpsonsStore'), viewConfig:{enableTextSelection:true}, columns: [ { text: 'Name', dataIndex: 'name' }, { text: 'Email', dataIndex: 'email', flex: 1 }, { text: 'Phone', dataIndex: 'phone' } ], height: 200, width: 400, renderTo: Ext.getBody() });


相關推薦

extjs grid 複製問題解決方案.

之前的專案中雖然也經常使用到extjs,但或許是沒有注意到,也或許是根本就沒有需要用到這個功能. 前幾天在和客戶討論需求時,客戶說想要能夠將gird表中的資料複製出來,當時沒多想,感覺這功能extjs應該是支援的,應該配置一個後幾個引數就能搞定的吧.可是回來後查extjs的

Chrome瀏覽器開啟網頁慢的解決方案

目錄 前言 經驗總結 前言 折磨了我近一個月的Chrome開啟網頁慢的問題終於在今天告一段落,完結撒花~然後覺得很有必要發一篇文章來指引誤入歧途的後來人~ 網際網路上大部分教程無非都是教你在瀏覽器設定裡取消勾選一些選項,在區域網設定裡取消勾選云云,但還有一種情況

跨域的解決方案——CORS(Cross-Origin Resource Sharing)跨域資源共享

      在我們日常的專案開發時使用AJAX,傳統的Ajax請求只能獲取在同一個域名下面的資源,但是HTML5打破了這個限制,允許Ajax發起跨域的請求。瀏覽器是可以發起跨域請求的,比如你可以外鏈一個外域的圖片或者指令碼。但是Javascript指令碼是不能獲取這些資源的內容的,它只能被瀏覽器執行或渲染。主

關於處理按鍵長按不用onKeyLongPress的解決方案

近期專案中需要處理按鍵長按事件,所以使用onKeyLongPress()進行了處理,但同時自己也發現了另一種處理長按的方式。首先來介紹一下使用onKeyLongPress()的相關方法。 一、onKeyLongPress使用 1.在onKeyDown()方法

React 流程圖的解決方案 GGEditor

要實現型別下圖的需求,所以研究了一些g6 editor   瞭解連結:https://antvis.github.io/g6/api/graph.html g6文件 https://www.yuque.com/antv/g6/api-graph g6 https://

微服務架構是解決方案

企業應用架構演變: 單機程式->c/s->b/s->面向服務架構(SOA)->微服務架構 加粗的是單體程式 微服務架構   細粒度SOA,是強調小型短暫元件的SOA,小即是美   重點是服務,如何進行服務之間解耦   每個服務元件都可以獨立開發、構建、測試、部署   自包含

華為ENSP中AR啟動失敗錯誤程式碼40,42,43,及啟動後一直#的問題的解決方案

系統是64位win10安裝ensp510時不斷40.42.43的錯且在不報錯時開啟ar時一直輸出#  查閱網上各種方法 一 一嘗試後發現, 我的問題是虛擬機器不是最新版本,且虛擬機器中沒有配置網絡卡,檢視是否有網絡卡配置,在virtualbox中點選左上角的管理,選擇全域性設定,然後在

Ubuntu18.04圖形介面崩潰無法進入桌面問題解決;cuda-9-0 (>= 9.0.176)的解決辦法

追加:【已解決,有一張顯示卡硬體不穩定】 參考我的最終記錄: 首先說明我的情況: Ubuntu18.04,配置了CUDA9.0,在執行一段時間後,圖形介面突然崩潰,當時正在使用Teamviewer遠端操作Matlab。 報錯主要是“starting nvidia

關於quartz定時任務實現Job介面無法註解為spring bean 的解決方案

  通常情況下,我們使用quartz之後,定時任務實現Job介面,並重寫execute()方法: public class QuartzJob1 implements Job { /** * quartz回撥此介面,此介面中為定時任務具體執行內容 *

內外網分離後如何保證檔案安全交換?介紹解決方案

近年來全球網路安全威脅態勢的加速嚴峻,使得企業對於網路安全有了前所未有的關注高度。 在嚴峻的安全態勢之下,企業的網路安全體系建設正從“以合規為導向”轉變到“以風險為導向”,從原來的“保護安全邊界”轉換到“保護核心資料資產”的思路上來。 絕大多數企業都在內部實施了內外網分離,網際網路與內網隔離,生產網與辦公

[JAVA IDEA]在使用maven專案中,無法讀取resources資料夾中的配置檔案的解決方案

1、在通過配置檔案來連線資料庫時,在resouces檔案中放入了db.properties配置檔案,但無法正常讀取到  讀取配置檔案資訊的程式碼: InputStream input=JdbcUtil.class.getClassLoader().getResourceAsStream("db.prope

跨域請求的解決方案

<!doctype html> <html> <head> <meta charset="utf-8"> <title>無標題文件</title> </head> <script src="http://libs.

有關於【該檔案的字元編碼需要在傳輸協議層宣告,或者在檔案中加入一個 BOM(位元組順序標記)】的解決辦法

昨天測試一個介面的時候發現一個異常,瀏覽器訪問一個controller,然後帶了一個JSON格式的引數,然後瀏覽器返回400錯誤,除錯發現下面的錯誤資訊: 純文字檔案的字元編碼未宣告。如果該檔案包含 US-ASCII 範圍之外的字元,該檔案將在某些瀏覽器配置中呈現為亂碼。該

關於win8下pip安裝mysql找不到config-win.h檔案的解決方案

關於win8下 pip安裝mysql報錯_mysql.c(42) : fatal error C1083: Cannot open include file: ‘config-win.h’: No such file or director的一種解決方案

關於IE7 IE8相容HTML5和CSS3的解決方案

 今天突然發現一網站用JS來實現這個支援 新增到head裡 <!--[if IE 7]> <script type='text/javascript' src='js/excanvas.js'></script> <link rel

Struts2.3 以及 2.5 過濾 xss攻擊 的解決方案

Struts 2.3 本方案採用struts2的攔截器過濾,將提交上來的引數轉碼來解決。 配置struts.xml <package name="default" namespace="

完全跨域下單點登入的解決方案

  根據oums單點登入解決方案介紹 一文我們知道單點登入有兩種模型,一種是共同父域下的單點登入(例如域名都是 xx.a.com),還有就是完全跨域下的單點登入(例如域名是xx.a.com,xx.b.com),本文我們講一下完全跨域下的單點登入該怎麼實現。  

SpringBoot WEB-INF目錄下檔案無法訪問解決方案

平時都好用的百度 沒搜尋到直接的解決方案,查閱資料提供一種方案  實驗可行 廢話不多說 上圖專案index.html位置  至於為什麼將資源放在WEB-INF目錄下  是不是更安全? 如果你怎麼也訪問不到 ,不妨試試我想到的方法 這是我的控制器寫法 直接request物

springMVC之spring容器注入失敗的解決方案

spring-config.xml中存在掃描service類所在的包,而我在初學springMVC時,在web.xml只配置載入了spring-web.xml,因此我在controller層呼叫service類中的方法時,就會出現以上問題。web.xml的部分程式碼<servlet> <se

eclipse cleanup svn時卡死或者失敗的解決方案

經常遇到一種情況,在進行pull或者push時,svn報錯,提示你應該cleanup一下,但當你cleanup時,要麼就卡死,要麼就報錯,說是在cleanup過程中需要等待其他操作。這種情況可能是由於,以前的某次SVN操作在沒有執行完就被強行終止了,導致svn會根據記錄的操