• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    asp.net gridview中用checkbox全選的幾種實現的區別

    來源:懂視網 責編:小采 時間:2020-11-27 22:44:17
    文檔

    asp.net gridview中用checkbox全選的幾種實現的區別

    asp.net gridview中用checkbox全選的幾種實現的區別:1、ext的grid Ext.grid.CheckboxColumn = function(config){ config.id = config.id 'ck'; config.columnId = config.id 'ck'; return Ext.applyIf(config{},{ init:function(grid){ gri
    推薦度:
    導讀asp.net gridview中用checkbox全選的幾種實現的區別:1、ext的grid Ext.grid.CheckboxColumn = function(config){ config.id = config.id 'ck'; config.columnId = config.id 'ck'; return Ext.applyIf(config{},{ init:function(grid){ gri

    1、ext的grid
    Ext.grid.CheckboxColumn = function(config){
    config.id = config.id || 'ck';
    config.columnId = config.id || 'ck';
    return Ext.applyIf(config||{},{
    init:function(grid){
    grid.on('cellclick', this.onCellClick, this);
    grid.on('headerclick',this.onHeaderClick,this);
    }
    ,dataIndex:''
    ,header:'<div class="x-grid3-check-col"></div>'
    ,enableHeaderControl:true
    ,masterValue:false
    ,width:40
    ,align:'center'
    ,fixed:true
    ,headerUnchecked:'<div class="x-grid3-check-col"></div>'
    ,headerChecked:'<div class="x-grid3-check-col x-grid3-check-col-on"></div>'
    ,onHeaderClick:function(grid,columnIndex,event){
    var cIndex = grid.getColumnModel().getIndexById(this.columnId);
    var column = grid.getColumnModel().getColumnById(this.columnId);
    if(cIndex == columnIndex && this.enableHeaderControl!==false){
    var newValue = (typeof column.masterValue == "undefined")?this.masterValue:!column.masterValue;
    column.masterValue = newValue;
    var newHeader = newValue==true?this.headerChecked:this.headerUnchecked;
    if(column.header != newHeader){
    column.header = newValue==true?this.headerChecked:this.headerUnchecked;
    grid.getColumnModel().fireEvent("headerchange",cIndex,newHeader);
    }
    grid.getView().updateHeaders();
    if(this.dataIndex != ''){
    var ct = grid.getStore().getCount();
    for(var i=0;i<ct;i++){
    this.toggleCheck(grid,i,columnIndex,newValue);
    }
    }
    }
    }
    ,onCellClick:function(grid,rowIndex,columnIndex,event){
    var cIndex = grid.getColumnModel().getIndexById(this.columnId);
    if(cIndex == columnIndex) this.toggleCheck(grid,rowIndex,columnIndex);
    }
    ,toggleCheck:function(grid,rowIndex,columnIndex,newValue){
    var td = grid.getView().getCell(rowIndex,columnIndex);
    var record = grid.getStore().getAt(rowIndex);
    var startValue = record.data[this.dataIndex];
    if(this.dataIndex != ''){
    var newValue = newValue||!Ext.fly(td).hasClass('x-grid3-check-col-on');
    var e = {
    grid: grid,
    record: record,
    field: this.dataIndex,
    value: newValue,
    originalValue: startValue,
    row: rowIndex,
    column: columnIndex,
    cancel: false
    };
    if( (grid.fireEvent("beforeedit",e)!==false && !e.cancel)&&
    (grid.fireEvent("validateedit",e)!==false && !e.cancel)){
    record.set(this.dataIndex,newValue);
    delete e.cancel;
    grid.fireEvent("afteredit",e);
    };
    //計算選擇列
    //SetTransportWAndB()
    //SetTransportInfo(grid);
    }
    }
    ,renderer:function(value,meta,record){
    meta.css = 'x-grid3-check-col-td x-grid3-check-col';
    if(value==true || value=='true' || value=='on' || value==1 || value=='1'|| value=="True"|| value=="true") meta.css += ' x-grid3-check-col-on';
    return '<div class="x-grid3-check-col-inner"> </div>';
    }
    });
    }
    這是ext的grid單寫checkbox框的實現,后面說明幾種情況的效率
    2、gridview的兩種實現
    a、
    function CA1(){
    var frm=document.Form1;
    for (var i=0;i<frm.elements.length;i++)
    {
    var e=frm.elements[i];
    if ((e.name!='Checkbox2') && (e.type=='checkbox'))
    {
    e.checked=frm.Checkbox2.checked;
    if (frm.Checkbox2.checked)
    {
    hL(e);
    }//endif
    else
    {
    dL(e);
    }//endelse
    }//endif
    }//endfor
    }
    b、
    function selectAll(oCheckbox)
    {
    for(i=1;i<document.all.GridViewGoodsInfo.rows.length;i++)
    {
    //document.all.GridView1.rows(i).cell(0).children(0).checked=oCheckbox.checked;
    GridViewGoodsInfo.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = oCheckbox.checked; }
    }
    加上ext的grid自帶選擇框的四種方案中,ext自帶方式效率最低,顯示500多條記錄全選需要時間最長,需要2分鐘多鐘,才能完成,修改為第一種方案后,1000條數據用時12秒多,在gridview的兩種方法里,a的用時最少1000條5秒鐘完成,b的稍慢些,6-7秒完成,以上是測試結果,環境不同,效果也不同,這僅是我個人測試的結果,供大家參考

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    asp.net gridview中用checkbox全選的幾種實現的區別

    asp.net gridview中用checkbox全選的幾種實現的區別:1、ext的grid Ext.grid.CheckboxColumn = function(config){ config.id = config.id 'ck'; config.columnId = config.id 'ck'; return Ext.applyIf(config{},{ init:function(grid){ gri
    推薦度:
    標簽: 全選 實現 實現的
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 性欧洲精品videos| 精品亚洲成a人片在线观看少妇| 人妻少妇精品系列| 国产精品视频a播放| 无码人妻精品一区二区三区在线| 国产精品偷伦视频免费观看了| 国产精品无码A∨精品影院| 久久久人妻精品无码一区| 欧美久久精品一级c片片| 久久精品人人做人人爽电影蜜月| 鲸鱼传媒绿头鱼实验室之炮机测评日韩精品一级毛 | 亚洲国产精品久久久久婷婷老年| 精品精品国产理论在线观看| 久久91精品国产91久久户| 青草国产精品久久久久久| 无码人妻精品一区二| 国产亚洲精品无码专区| 亚洲永久永久永久永久永久精品| 国产精品色内内在线播放| 无码精品久久久天天影视| 亚欧洲精品在线视频免费观看| 国产精品无码一区二区在线观一| 国产精品亚洲欧美一区麻豆| 精品少妇无码AV无码专区| 久久影院综合精品| 少妇伦子伦精品无码STYLES| 区亚洲欧美一级久久精品亚洲精品成人网久久久久 | 亚洲精品国产精品乱码不卡 | 国产精品亚洲а∨无码播放| 亚洲精品午夜无码电影网| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 麻豆国产精品VA在线观看不卡| 久久精品国产秦先生| 国产精品免费网站| 国产精品免费观看| 四虎精品影院4hutv四虎| 亚洲国产精品一区| 国产精品人成在线观看| 精品国产综合区久久久久久| 久久激情亚洲精品无码?V| 日韩一区二区三区精品|