Ext grid

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

这些东西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() 方法就可以去掉红三角

以上代码都未经过测试

红三角相关

[url]http://www.iteye.com/problems/12585[/url]

一般问题在网上都可以找到
[url]
http://www.google.cn/search?q=ext+store+%E7%BA%A2%E8%89%B2%E6%A0%87%E8%AE%B0&btnG=Google+%E6%90%9C%E7%B4%A2&hl=zh-CN&newwindow=1&sa=2[/url]