插入多列时,Ext JS 4.0 GridPanel CellEditing插件会中断

时间:2012-03-22 19:24:18

标签: javascript extjs extjs4

我试图找到在Ext JS 4.0中使用CellEditing插件的GridPanel中动态添加/删除列的正确方法

我尝试使用HeaderContainer add(),insert(),remove()方法在GridPanel中动态添加/删除列

问题是当我尝试添加或删除多个列时,CellEditing插件停止正常工作:

  1. 当处于编辑模式的现有单元格时,文本和光标不可见
  2. 第一个新添加的列根本不可编辑
  3. 第二个添加的列可编辑
  4. 重现的步骤:

    1. 启动页面
    2. 选择列中的单元格以插入列位置,然后添加新列
    3. 单击添加列按钮并在对话框中键入Name1按ok
    4. 重复步骤2-3使用Name2作为列名
    5. 尝试编辑现有公司列以及列名称1和名称2
    6. 中的文本

      您可以在此处找到完整的源代码和示例: http://jsbin.com/otorix/edit#source / http://jsbin.com/otorix/edit#preview

      你可以重现这种行为吗? 你能证实这是错误吗? 或者我做错了什么?

      我将非常感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:0)

你是对的,有一个错误,但显然它是由你重新配置网格的方式引起的,我对你的代码添加了一些修改(仅用于添加列)我想删除应该相当容易,所以我的更正:

  1. 商店rangeData的内存数据是一个数组,而读者期望一个带有一个数组内部数组的Object(这似乎不会导致任何错误,但这样更清晰)
  2. 列重新配置是主要问题,我删除了创建新列的部分,只需编写新列的配置,之后在列数组的末尾添加新列,或者在中间的某个位置使用拼接。网格上的重新配置功能提供了重新配置商店和列的可能性,因此比在标头容器中添加新创建的列更安全。
  3. 您在此处修改了代码http://jsbin.com/otorix/17/edit