extjs4當中的gridpanel,翻頁後保持複選框內容。
這還真意外的花了一些時間,趕緊寫下來有助於記憶……
說真的對extjs控制元件命令瞭解的太少了,還得多下點功夫才行……
這個js程式碼段基於一個基礎js檔案DsTruck。首先定義一個數據集Ext.extend(DsTruck.FinanceOut, Ext.Panel, { PageSize: 6,//用於控制每頁的行數 ChangePage: false,//用於判斷此次deselect是點選觸發的還是由翻頁觸發的 //array: new Array(), initUIComponents: function () { this.FOBodyDel = []; this.array = []; //定義資料集 this.storeList = Ext.create('Ext.data.Store', { model: 'Mainmb', remoteSort: false, pageSize: this.PageSize, proxy: { type: 'ajax', url: '/Import/FinanceOut/GetMainList', reader: { idProperty: 'ContractNo' + 'HTH', root: 'data', totalProperty: 'totalCount' } }
然後需要給它加上listener
var _this = this;//個人感覺這個意思是將作用域定義向下傳遞了一層。不這樣寫的話,listener內就無法引用this.array。//其實我這個理解可能不準確,希望有高手能解答我這個疑問……
this.storeList.addListener('load', function (store, rds, opts) { var grid = Ext.getCmp('gridList'); var sm = _this.MainGridCheckBoxModel; var total = store.getCount(); //資料行數 //var Tarray = Ext.getCmp('array'); //alert(_this.array.length); for (var i = 0; i < total; i++) { var row = store.getAt(i); var contractno = row.get('ContractNo'); if (Ext.Array.indexOf(_this.array, contractno, 0) > -1) { grid.selModel.select(i, true,false); } } grid.getSelectionModel().addListener('deselect', sm, this); //新增checkboxModel的deselect事件,第三個引數this 可不寫,下同 _this.ChangePage = false; }); this.storeList.addListener('beforeload', function () { var grid = Ext.getCmp('gridList'); var sm = _this.MainGridCheckBoxModel; _this.ChangePage = true; //grid.getSelectionModel().removeListener('deselect', sm, this); });
//此段沒有如預料中起作用,原因不明
//這一段以及注掉的那行,作用是消除“翻頁觸發的deselect”的影響
這樣其實就是讓顯示的列表中,合同號處於array陣列內的行保持被選中的狀態。
還需要維護這個array的內容,讓被選的加入,取消選擇的刪除。
gridList就是使用storeList資料集的那個gridpanel,這兩個段落可以看作給它加上select和deselect方法……姑且這麼認為吧this.gridList.getSelectionModel().on('deselect', function (sm, rec) { //alert('取消勾選的name:'+record.data.ContractNo); //alert(Ext.Array.include(this.array, '100')); undifine if (!_this.ChangePage) {//如果不是翻頁 那麼從array中刪除這個合同號 Ext.Array.remove(this.array, rec.data.ContractNo); } }, this); this.gridList.getSelectionModel().on('select', function (model, record, index) { this.C_contractno = record.data.ContractNo;//還有別處用得著這個“最後選中的合同號” this.array.push(record.data.ContractNo);//把合同號放進array ……………………
後臺用的是C#.net2010 ,如上所見,這點東西和後臺一點關係都沒有……
相關推薦
extjs4當中的gridpanel,翻頁後保持複選框內容。
這還真意外的花了一些時間,趕緊寫下來有助於記憶…… 說真的對extjs控制元件命令瞭解的太少了,還得多下點功夫才行…… Ext.extend(DsTruck.FinanceOut, Ext.Panel, { PageSize: 6,//用於控制每頁的行數
翻頁保存多選框的值
bubuko 若是 false span del mode 復數 eve als $("input[name=‘checkItem‘]").iCheck({ //初始化iCheck checkboxClass: ‘icheckbox_flat-blue‘, }); $
自己寫一個序列化form表單,表單中有複選框checkbox,單選框radio等
form表單中有複選框,單選框等var serializeform = function (formid) { var form = document.getElementById(formid); var arr = {}; for (var i = 0;
Extjs3.3.1 實現翻頁後,可記錄已經選擇的選項
第一步:定義記錄選擇選項變數: var collection=new Ext.util.MixedCollection(); 第二步:在store的lisenters屬性上新增兩個event. 如下: load:function(store, records, opt
Ext JS 列表裡的QuickTipManager翻頁後不能正常顯示的問題解決方案
需求: 在列表裡渲染一個圖示,滑鼠懸浮上後,顯示一個彈出框,裡面根據資料不同而顯示對應的項。如下圖: 問題現象: 當對列表進行翻頁後,不能正常顯示小框,且瀏覽器控制檯反覆列印紅色錯誤。 程式碼: displaySegmentBinding:function (i
###①datatable客戶端分頁,全選只能選中一頁(能力有限,(雖然不是服務端分頁),同事-老大都不知道)+ ②【動態新增刪除CheckBox的ID】 JQuery datatables 表頭複選框切換頁面時保持選中的問題
①datatable客戶端分頁,全選只能選中一頁(能力有限,(雖然不是服務端分頁),同事-老大都不知道)。 對於要解決的問題: 【 JQuery datatables 表頭複選框切換頁面時保持選中的問題 】 ==== 這個:https://blog.csdn.net/nihaoqiuli
給一個view新增旋轉動畫,並且停止後保持旋轉角度,恢復後可繼續旋轉
RotateAnimation這個動畫類 animation.setFillAfter(true);方法是在動畫自動停止後保持原位,而手動停止呼叫clearAnimation()後旋轉的控制元件會變成最開始的位置,想到的解決方 法是讓動畫旋轉30度
ionic3開發系列——打包APK執行,啟動頁後白屏幾秒,解決方案
問題描述: 開發過程中發現ionic3專案打包後在真機上執行,啟動頁後會有3-5秒的白屏時間。 解決方法: 在config.xml新增以下屬性: <!--預設有前四個配置,後面三個是另外新增
具有排序,增加,刪除,翻頁動畫的scrollview
網上主要都是手勢拖拽動畫,關於按鍵的動畫比較少,因此做了一套。 先來一個效果圖: 下面是原始碼: public class HorizontalPageScorllView extends HorizontalScrollV
jqGrid 翻頁行保持選中
jgGrid表格外掛按照正常情況下,設定multiselect:true,,就可以實現多選。但是當資料分頁顯示時,翻頁後,之前已經選擇的就會失效。 這裡通過設定一個全域性變數,快取已經選中的資料項,來實現翻頁後保持選中。 jqGrid 頁面程式碼 先是
爬取拉勾網資訊,翻頁爬取
import requests #這個庫等價於 urllib 和urllib2 import bs4 #作用是用來解析網頁的 import json#主要是一種資料交換格式 import time de
Extjs Grid翻頁後再重新整理無法回到第一頁
在用ExtJs的時候經常需要使用Grid來顯示資料,當資料過多時就需要翻頁。Ext的Ext.PagingToolbar翻頁提供了一個UI,真正的翻頁是在store裡面進行的。做翻頁的時候會碰到很多問題,比如,翻頁到第二頁後看到第一頁的重複資料;翻到第二頁後再點選toolba
Cocos2d-x動畫,翻開,翻頁,淡入淡出動畫
這是一個Coco2d-x的翻開動畫,跟翻書一樣翻成另外一張圖片: --翻開動畫 function open(Sprite,func) local array = CCArray:create() array:addObject(CCDelayTime:cre
Word中只修改某一頁的頁首頁尾,其它頁的保持不變
問題來源:在用word2013編輯頁首頁尾時,所有頁的頁首和頁尾都同時變化,但現在只需要修改某一頁的內容,其它的頁不變。 **解決方法:**Word 2007、Word 2010以及Word 2103中把游標放在某一頁的頁末尾(下一頁將採用不同的頁首頁尾)
複選框組的全選、全不選點選兩次後,attr()不生效、checkBox狀態不改變問題
複選框組的全選、全不選點選兩次後,attr不生效、checkBox狀態不改變問題,最後發現attr和prop的區別 <input type="checkbox" name="chk_all" i
類似智慧購票的demo--進入頁面後預設焦點在第一個輸入框,輸入內容、回車、right時焦點自動跳到下一個,當跳到select時,下拉選項自動彈出,並且可以按上下鍵選擇,選擇完成後再跳到下一個。
要實現的效果:進入頁面後預設焦點在第一個輸入框,輸入內容、回車、right時焦點自動跳到下一個,當跳到select時,下拉選項自動彈出,並且可以按上下鍵選擇,選擇完成後再跳到下一個。 PS:自己模擬的一個簡單效果,但仍然存在問題:網上搜了許多,關於select自動彈出的問題
請設計一個演算法,給一個字串進行二進位制編碼,使得編碼後字串的長度最短。(哈弗曼編碼)
美團點評2016研發工程師程式設計題(二) 請設計一個演算法,給一個字串進行二進位制編碼,使得編碼後字串的長度最短。 輸入描述: 每組資料一行,為待編碼的字串。保證字串長度小於等於1000。 輸出描述: 一行輸出最短的編碼後長度。 輸入例子: MT-TECH-TEA
MFC TreeControl複選框:選中某個節點的複選框後,自動選中子節點的複選框
1、實現選中TreeControl中的某個複選框,子節點的複選框自動選中: 2、如上例,當點選根節點Windows前的複選框時,它的所有子節點前面的複選框都被選中; 3、實現該功能的思路是:
【無事水一發】ExtJS4 Ext.tree.Panel (無限層級)帶複選框樹勾選(父級子級)聯動程式碼
原創,轉載請註明出處~~ 勾選父節點,之下所有子節點自動勾選;反之自動取消子節點勾選(無限層級) 勾選所有子節點,父節點自動勾選;反之自動取消父節點勾選(無限層級) Ext.onReady(function() { var store = Ext.create('Ext.data
金蝶bos 自定義UI介面新增複選框控制元件,並且做業務處理
/** * 顯示工程型別 * @author daihao *