editorGrid

往editorGrid里插一条空record,点单元格的时候,怎么会出现下面的东西

 

怎么解决?
[b]问题补充:[/b]
Ext.onReady(function(){
var queryType=[['no_loop','是否循环'],['language','语言']];

 var Plant = Ext.data.Record.create([
       {name: 'attribute', type: 'string'},
       {name: 'value', type: 'string'},
       {name:'del'}
  ]);

var store = new Ext.data.JsonStore({
fields: [{name:'attribute',mapping:'attribute'},{name:'value',mapping:'value'}]
});
var colModel=new Ext.grid.ColumnModel([
{header: "属性名称", width: 150, sortable: true,dataIndex:'action',editor: new Ext.form.ComboBox({
store: queryType,
triggerAction: 'all',
emptyText:'Select a state...',
selectOnFocus:true
})},
{header: "值", width: 100,dataIndex:'parameter', editor: new Ext.form.TextField({allowBlank: false})},
{header: "删除", width: 100,dataIndex:'del',renderer:function(value,metadata,rcd,rowIndex,colIndex,store){
return "<img src='cross.gif' onclick='deleteRecord('+rcd+')'"}
}
]);

var grid = new Ext.grid.EditorGridPanel({
    id:'attribute_grid',
    store: store,
    cm:colModel,
    clicksToEdit:1,
    frame:true,
    width: 350,
    height:300,
    autoHeight:true,
    autoWidth:true,
    title: '属性',
    tbar:[{
        xtye:'button',
        text:'添加',
        pressed :true,
        enableToggle:true,
        tooltip:'新增加一个属性!',
        iconCls:'add',
        handler : function(){
           var p = new Plant({
            });
           // store.insert(0, p);
            store.add(p);
        }
    }]
});

// grid.render(document.body);
});
function deleteRecord(record){
Ext.getCmp('attribute_grid').getStore().remove(record);
}

[b]问题补充:[/b]
还有一个问题是
我想实现点击图片(是一个叉)后删除这行
{header: "删除", width: 100,renderer:function(value,metadata,rcd,rowIndex,colIndex,store){
return "<img src='cross.gif' onclick='deleteRecord('+rcd+')'"}
}

function deleteRecord(record){
Ext.getCmp('attribute_grid').getStore().remove(record);
}
为什么不行
[b]问题补充:[/b]
第一个问题解决了
帮我看看这个问题吧
我想实现点击图片(是一个叉)后删除这行
{header: "删除", width: 100,renderer:function(value,metadata,rcd,rowIndex,colIndex,store){
return "<img src='cross.gif' onclick='deleteRecord('+rcd+')'"}
}

function deleteRecord(record){
Ext.getCmp('attribute_grid').getStore().remove(record);
}
为什么不行
[b]问题补充:[/b]
下了你介绍的那个东西,代码太多了,不知道哪里才是
你能把点击图标删除一行的代码抽出来给我看看吗
或者你介绍一种方式,可以删除editorGrid的一行的
[b]问题补充:[/b]
这个问题困扰我好久了
不能在耽搁了
你能否介绍个简单的方法
可以删除一行的?

[b]问题补充:[/b]
var rcd=Ext.getCmp('attribute_grid').getSelectionModel().getSelectedCell().record;
Ext.getCmp('attribute_grid').getStore().remove(rcd);

一直想用这两句
为什么不行呢

你的方法我试了
可以了
但我想问问以上那个为什么不行

捕捉单元格的单击事件,判断单元格是有图片的那一列的.是这一列的话就执行函数.在函数中间获得当前的grid被选中行的行号.然后通过这个行号来删除store中的记录.我的网络硬盘系统就是这样实现的删除行的

[url]http://yourgame.iteye.com/blog/353361[/url]

代码给全,然后截图

我调试了你的代码,没有发现太大问题,至于你说的为什么会出现下面的东西,我不是很明白你的意思

至于你说的我为什么不能删除,你要去学习一下作用域的问题了.

[code="js"]{header: "删除", width: 100,renderer:function(value,metadata,rcd,rowIndex,colIndex,store){
return "<img src='cross.gif' onclick='deleteRecord('+rcd+')'";//你这里只是字符串拼接而已,而且也不能通过这种方式来传递变量的
}
} [/code]

你是想通过点击图标来删除记录.推荐你看下面的帖子.这个是国外的人开发的扩展插件
[url]http://bbs.okajax.com/thread-9536-1-1.html[/url]

[url]http://rowactions.extjs.eu/[/url]

8) 8) 8) 8) 8) 8) 8)

别太懒了.学习是自己的事情.

getSelectedCell() 返回的是数组.
[code="js"]
getSelectedCell() : Array
Returns the currently selected cell's row and column indexes as an array (e.g., [0, 0]).
Parameters:
None.
Returns:
Array
An array containing the row and column indexes of the selected cell, or null if none selected.[/code]

这些东西都可以在api里面查的