ext4 grid edit 添加删除行

extjs--grid动态添加一行和删除一行:

(1)选择rowEditing时,添加一行后的编辑方式为----startEdit(record,columnHeader)

(2)选择cellEditing时,添加一行后的编辑方式为----startEditByPosition(object position)

Ext.onReady( function() {

var store=Ext.create(‘Ext.data.Store‘, {

fields:[‘id‘,‘name‘,‘email‘,‘phone‘],

data:[{

‘id‘:"1",

‘name‘:‘one‘,

‘email‘:‘[email protected]‘,

‘phone‘:‘123321123‘

},{

‘id‘:"2",

‘name‘:‘two‘,

‘email‘:‘[email protected]‘,

‘phone‘:‘456654321‘

},{

‘id‘:"3",

‘name‘:‘there‘,

‘email‘:‘[email protected]‘,

‘phone‘:‘789987321‘

}]

});

(1)rowEditing:

var rowEditing=Ext.create(‘Ext.grid.plugin.RowEditing‘, {

clicksToEdit:2,

cancelEdit: function(grid) {//添加一行数据时,如果没有点击update而是点击cancel,则此行数据不会加入到store中

var me = this;

if (me.editing) {

me.getEditor().cancelEdit();

var record=me.context.record;//包含属性如下:grid,record,field,value,row,column,rowIdx,colIdx,view,store

var id=record.data.id;

if(id==‘‘){//id是由后台自动生成的,如果id不存在,则说明是通过页面的添加按钮直接添加的,还没有存入到后台数据库中,可以直接在页面删除

var grid=me.context.grid;

var items=grid.getSelectionModel().getSelection();

Ext.each(items,function(item){

store.remove(item);

})

}

}

},

listeners: {

edit: function(e) {

if(e.record.data.id){//id由后台自动生成,编辑时

//有id,则说明是更新数据库。

}else{

//无id,则说明是向数据库中插入一条记录

}

e.record.data.name;

e.record.data.email;

e.record.data.phone;

}

}

});

var grid=Ext.create(‘Ext.grid.Panel‘, {

title:‘grid添加数据与删除数据‘,

width:400,

height:300,

store:store,

multiSelect: true,

bodyPadding:10,

renderTo:Ext.getBody(),

columns:[{

header:‘姓名‘,

dataIndex:‘name‘,

flex:1,

editor:‘textfield‘

},{

header:‘邮箱‘,

dataIndex:‘email‘,

flex:1,

editor:‘textfield‘

},{

header:‘电话‘,

dataIndex:‘phone‘,

editor:‘textfield‘

}],

selType:‘rowmodel‘,

plugins:[rowEditing],

tbar:[{

text:‘添加‘,

handler: function() {

var data=[{

‘id‘:‘‘,

‘name‘:‘testrow‘,

‘email‘:‘[email protected]‘,

‘phone‘:‘123456‘

}];

store.insert(0,data);//可以自定义在stroe的某个位置插入一行数据。

//store.loadData(data,true);//在store的最后添加一行数据

rowEditing.cancelEdit();

rowEditing.startEdit(0,0);

}

},‘-‘,{

text:‘删除‘,

handler:function(){

var records=grid.getSelectionModel().getSelection();

Ext.each(records,function(record){

//先通过ajax从后台删除数据,删除成功后再从页面删除数据

store.remove(record);

})

}

}]

});

})

(2)cellEditing

var cellEditing=Ext.create(‘Ext.grid.plugin.CellEditing‘, {

clicksToEdit:2,

listeners: {

edit: function(editor,e) {

if(e.record.data.id) {//id由后台自动生成,编辑时

//有id,则说明是更新数据库。

} else {

//无id,则说明是向数据库中插入一条记录

}

e.record.data.name;

e.record.data.email;

e.record.data.phone;

}

}

});

var grid=Ext.create(‘Ext.grid.Panel‘, {

title:‘grid添加一行数据与删除一行数据‘,

width:400,

height:300,

store:store,

bodyPadding:10,

renderTo:Ext.getBody(),

columns:[{

header:‘姓名‘,

dataIndex:‘name‘,

flex:1,

editor:‘textfield‘

},{

header:‘邮箱‘,

dataIndex:‘email‘,

flex:1,

editor:‘textfield‘

},{

header:‘电话‘,

dataIndex:‘phone‘,

editor:‘textfield‘

}],

selType:‘cellmodel‘,

plugins:[cellEditing],

tbar:[{

text:‘添加‘,

handler: function() {

var data=[{

‘id‘:‘‘,

‘name‘:‘testrow‘,

‘email‘:‘[email protected]‘,

‘phone‘:‘123456‘

}];

store.insert(0,data);//可以自定义在stroe的某个位置插入一行数据。

//store.loadData(data,true);//在store的最后添加一行数据

cellEditing.cancelEdit();

cellEditing.startEditByPosition({row:0,column:0});

}

},‘-‘,{

text:‘删除‘,

handler: function() {

var records=grid.getSelectionModel().getSelection();

Ext.each(records, function(record) {

//先通过ajax从后台删除数据,删除成功后再从页面删除数据

store.remove(record);

})

}

}]

});

时间: 2024-10-04 05:47:56

ext4 grid edit 添加删除行的相关文章

jQuery可以计算的表单,包括单选改变价格,select改变价格,动态添加删除行计算

jQuery可以计算的表单,包括单选改变价格,select改变价格,动态添加删除行计算 各种表单情况的计算 演示 JavaScript Code <script type="text/javascript"> var currentRow = 3; $(document).ready(function(){ $('#calx').calx(); $('#add_item').click(function(){ var $calx = $('#calx'); currentR

为11.2.0.2 Grid Infrastructure添加节点

转自:http://www.askmaclean.com/archives/add-node-to-11-2-0-2-grid-infrastructure.html 在之前的文章中我介绍了为10g RAC Cluster添加节点的具体步骤.在11gr2中Oracle CRS升级为Grid Infrastructure,通过GI我们可以更方便地控制CRS资源如:VIP.ASM等等,这也导致了在为11.2中的GI添加节点时,同10gr2相比有着较大的差异. 这里我们要简述在11.2中为GI ADD

html表格动态添加删除行(有后台操作)

<HTML> <TITLE>Form Object example</TITLE> <HEAD> <script language="javascript"> function delrow1() { var oElement=event.srcElement; while(oElement.tagName!="TR") { oElement=oElement.parentElement; } var oT

模拟excel添加删除行或列,同时渲染各个tr td的id,以做取值进行各种运算.

此控件是模拟excel进行添加删除行或者列.同时可以进行各单元格之间的运算,比如=SUM(A1,A3)就表示相加,操作跟excel类似, html代码如下: js代码如下: 1 $("#event_table tbody,#event_div").bind("contextmenu",function(e){ //禁止鼠标右击弹出菜单 2 return false; 3 }); 4 $(document).mousedown(function(e){ //左击任意位

Grid中添加链接,打开选项卡页面

如何在grid中点击,添加一个选项卡并打开页面 function addeditnew(id, title) { var node =   { attributes: { href: "addeditnew.aspx?id=" +id }, text: title,  id: "news"+id };  alert('test');   //window.parent.addExampleTab(node);  parent.addExampleTab.apply(

添加删除行

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xh(www.111cn.net)tml"><head><meta http-equiv=&q

javascript添加删除行信息

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="StuInfo.aspx.cs" Inherits="StuManager.StuInfo" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat=&quo

NGUI里Grid动态添加物体后,整理

1 //加入对象 2 foreach (Task t in tm.TaskDic.Values) 3 { 4 TaskItem ti= NGUITools.AddChild(grid.gameObject, TaskItemPerfab).GetComponent<TaskItem>(); 5 6 ti.SetTaskItem(t); 7 8 } 9 //grid自带的整理功能 10 grid.Reposition();

5.添加删除行

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="