iteye_3782
2009-05-03 14:42
浏览 223

Ext grid

如何获得grid的行数
如何获得某个单元格的值
如何让可编辑grid的单元格如果没有输入值,这个单元格就不会失去焦点
可编辑的grid的单元格如果被编辑后,就会打上标记,有什么方法可以随意控制不要填上这个标记

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • zhoujuan520 2009-05-03 15:46
    已采纳

    这些东西api中都有说明的.很详尽
    [code="js"]grid.getSelectionModel().getCount() ;//获得当前选中的行数
    grid.getStore().getTotalCount();//获得记录总数
    grid.getStore().getCount();//获得当前分页的记录总数

    //获得当前鼠标单击的单元格的value
    new GridPanel({
    .....
    listeners:{
    cellclick : function(grid, rowIndex, columnIndex, e) {
    var record = grid.getStore().getAt(rowIndex); // 获得当前行的记录
    var fieldName = grid.getColumnModel().getDataIndex(columnIndex); //获得列名(字段名)
    var data = record.get(fieldName);//再从记录中获得这列的value
    alert('你当前单击的单元格的value是:' + data);
    }
    [/code]}
    })

    [quote]如何让可编辑grid的单元格如果没有输入值,这个单元格就不会失去焦点[/quote]
    这个你在设置editor的时候给控件加上 allowBlank:false即可,这样就不允许为空了,至于不让单元格失去焦点,你可以再blur事件中让空间focus就可以了,不过不推荐这样做,你如果设置为不能为空,他会提示用户的.否则这样的话会给用户带来不好的体验!

    [code="js"]var colModel = new Ext.grid.ColumnModel([
    {header: "Ticker", width: 60, sortable: true,
    editor : new Ext.form.TextField({allowBlank:false})
    }

    ]);[/code]
    [quote]
    可编辑的grid的单元格如果被编辑后,就会打上标记,有什么方法可以随意控制不要填上这个标记 [/quote]
    你可以再修改记录后马上调用Store的 commitChanges() 方法就可以去掉红三角

    以上代码都未经过测试

    点赞 评论
  • zhoujuan520 2009-05-03 15:48
    点赞 评论

相关推荐 更多相似问题