shijing19850510 2009-07-06 11:22
浏览 607
已采纳

checkboxselectionmodel selectrow 默认选中

function select()
{
var users = new Ext.data.Record.create([
{name: 'userid'},
{name: 'name'},
{name: 'metier'},
]);

  var userSm = new Ext.grid.CheckboxSelectionModel();//checkbox控件         

    var userGrid =new Ext.grid.ColumnModel([
        userSm,
        {header: "职工代码", width:120, sortable: true, dataIndex: 'userid'},
        {header: "职工姓名", width:246, sortable: true, dataIndex: 'name'}           
    ]);
   var grid=new Ext.grid.GridPanel({
       width:590,
       height:383,
       sm:userSm,
       store:new Ext.data.Store({
             reader: new Ext.data.ArrayReader({},users),
             data:data
       }),
       cm:userGrid

   });

   grid.on("render",function(){   
     grid.selModel.selectRow(1,true);   
   });  


   var win = new Ext.Window({
    title: '设置',
    width:600,
    height:450,
    items:[grid],
    buttons:[
       new Ext.Button({
       text:'确定'            
       }),
       new Ext.Button({
       text:'取消',
       handler: function() {
            win.close();
            }
       })

     ]
    });

    win.show();

}
这是我在页面里设置的函数。点击一个按钮可以弹出这个窗口。我设置了
grid.on("render",function(){

grid.selModel.selectRow(1,true);

});

为什么还是不能默认选中呢?麻烦大家帮忙看一下,谢谢~

[b]问题补充:[/b]
您好,我延迟了但是为什么还是不行呢?
[b]问题补充:[/b]
好的,那我再测试一下,谢谢你了~~

  • 写回答

2条回答 默认 最新

  • iteye_10013 2009-07-06 12:02
    关注

    多延迟一会看看,我这边本地测试过没问题.
    测试代码:

    [code="javascript"]
    Ext.onReady(function(){
    Ext.QuickTips.init();
    test3x();
    });
    function test3x(){
    var users = new Ext.data.Record.create([
    {name: 'userid'},
    {name: 'name'},
    {name: 'metier'}
    ]);

    var userSm = new Ext.grid.CheckboxSelectionModel();//checkbox控件

    var userGrid =new Ext.grid.ColumnModel([
        userSm,
        {header: "职工代码", width:120, sortable: true, dataIndex: 'userid'},
        {header: "职工姓名", width:246, sortable: true, dataIndex: 'name'}          
    ]);
    

    var grid=new Ext.grid.GridPanel({
    width:590,
    height:383,
    sm:userSm,
    store:new Ext.data.Store({
    reader: new Ext.data.ArrayReader({},users),
    data:[['1','xx'],['2','yy']]
    }),
    cm:userGrid

    });

    grid.on("render",function(){

    grid.selModel.selectRow(1,true);
    //延迟300毫秒
    },this,{delay:300});

    var win = new Ext.Window({
    title: '设置',
    width:600,
    height:450,
    items:[grid],
    buttons:[
    new Ext.Button({
    text:'确定'

    }),
    new Ext.Button({
    text:'取消',
    handler: function() {
    win.close();
    }
    })

     ]
    });
    
    win.show();
    

    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 MddBootstrapInitialize2失败
  • ¥15 LCD Flicker
  • ¥15 Spring MVC项目,访问不到相应的控制器方法
  • ¥15 esp32在micropython环境下使用ssl/tls连接mqtt服务器出现以下报错Connected on 192.168.154.223发生意外错误: 5无法连接到 MQTT 代理,如何解决?
  • ¥15 关于#genesiscsheel#的问题,如何解决?
  • ¥15 Android aidl for hal
  • ¥15 STM32CubeIDE下载程序报错
  • ¥15 微信好友如何转变为会员系统?(相关搜索:小程序)
  • ¥15 c# 直接使用c++ 类库文件
  • ¥15 一个主机电脑有两个显示器,当前有两个软件主体是网页html打包的exe程序,如何通过cmd命令bat同时打开软件一个在主屏幕显示,另外一个软件在2副屏幕上显示