日期:2014-05-17  浏览次数:20573 次

Ext.net的问题,出鬼了,求大神帮忙
运行环境是ext.net,在gridpanel中设置回车监听,目的是为了按一下回车增加一行,gridpanel有一列,列中的数字不断会增加的.代表行号.

回车监听
<KeyMap><ext:KeyBinding>
<Keys>
<ext:Key Code="ENTER"/></Keys>
<Listeners><Event Fn="keyEdit"/></Listeners>
</ext:KeyBinding></KeyMap>



事件
 var keyEdit=function()
 {
  var count=<%=gridpanel.ClientID %>.getStore().getCount() +1; //gridpanel总行
  var grid=<%=gridpanel.ClientID %>;//gridpanel 控件名称
  grid.insertRecord(0, {Sku:"12321"}); //新增行
  grid.getView().focusRow(0);//焦点标记行
  grid.startEditing(0,1);//单元格转换成编辑状态
 }


问题来了,在insertrecord 新增行时候,如果是行数固定为0,运行无问题.但是如果行开始动态变化时候,

修改成动态
 var keyEdit=function()
 {
  var count=<%=gridpanel.ClientID %>.getStore().getCount() +1; //gridpanel总行
  var grid=<%=gridpanel.ClientID %>;//gridpanel 控件名称
  grid.insertRecord(count, {Sku:"12321"}); //新增行
  grid.getView().focusRow(count);//焦点标记行
  grid.startEditing(count,1);//单元格转换成编辑状态
 }

就会报错,错误信息是 
Microsoft JScript 运行时错误: 'data' 为空或不是对象  

但是他错误信息不是提示我制作的文件,而是官方的library 如下:
/*
 * Ext JS Library 3.4.0
 * Copyright(c) 2006-2011 Sencha Inc.
 * licensing@sencha.com
 * http://www.sencha.com/license
 */
q.value=g.renderer.call(g.scope,e.data[g.name],q,e,p,u,m); 此行报错.
Ext JS 是官方的文件,应该不会有错吧.

------解决方案--------------------
grid.startEditing(count - 1,1)