extjs输入栏后面加字符、请教、请教。

extjs输入栏后面加字符、请教、请教。,第1张

fieldLabel : '联系电话',

name : 'telephone',

allowBlank : false,

blankText : "请填写用户名",//当为空时提示

minLength : 5,

minLengthText : "长度不能小于5个字符",//字段过短时提示

maxLength : 11,

maxLengthText : "长度超过了11个字符",//输入过长时提示

regex : /^[1-9]\d*$/,

regexText : "联系电话输入错误"//用正则表达式定义格式,格式不对时提示

首先你要在Extjs的头部加上一句

Ext.QuickTips.init()开启错误提示

也可以设定

Ext.form.Field.prototype.msgTarget = 'side'提示显示在哪里

你这个单独的窗口是只一个单独的web页面还是一个extjs的window对象

如果是extjs的window, 你可以提供一个回调函数给这个window,让它在需要的时候调用

如:

funciont a(...){ console.log(arguments)}

Ext.create('Ext.window.Window', {

...

func: a,

listeners: {

destory: function(w){

if (w.func) w.func(...)

}

}

}).show()

2.0 RC 1

* zrmcsd@gmail.com

*

*/

Ext.onReady(function(){

Ext.QuickTips.init()

function formatDate(value){

return value ? value.dateFormat('M d, Y') : ''

}

var fm = Ext.form

var checkColumn = new Ext.grid.CheckColumn({

header: "有效",

dataIndex: 'indoor',

width: 55

})

var cm = new Ext.grid.ColumnModel([{

id:'doc_code',

header: "文档编号",

dataIndex: 'doc_code',

width: 220,

hidden: true, //隐藏列

editor: new fm.TextField({

allowBlank: false

})

},{

id:'name',

header: "名称",

dataIndex: 'name',

width: 200,

editor: new fm.TextField({

allowBlank: false

})

},{

header: "说明",

dataIndex: 'label',

width: 150,

editor: new fm.TextField({

allowBlank: false

})

},{

header: "菜单",

dataIndex: 'price',

width: 120,

editor: new fm.TextField({

allowBlank: false

})

},{

header: "有效",

dataIndex: 'youx',

width: 120,

editor: new fm.TextField({

allowBlank: false

})

}

])

// sortable

cm.defaultSortable = true

var Plant = Ext.data.Record.create([

,

,

,

,

,

])

// create the Data Store

var store = new Ext.data.Store({

// 载入自动生成的XML文件 xml文件格式 uft-8

url: 'moudlexml.jsp',

reader: new Ext.data.XmlReader({

record: 'plant'

}, Plant),

sortInfo:

})

// create the editor grid

var grid = new Ext.grid.EditorGridPanel({

store: store,

cm: cm,

renderTo: 'editor-grid',

width:600,

height:300,

autoExpandColumn:'name',

title:'模块管理',

frame:true,

plugins:checkColumn,

//clicksToEdit:10,//设置点击几次才可编辑

selModel: new Ext.grid.RowSelectionModel(),//设置单行选中模式, 否则将无法删除数据

tbar: [{

tooltip:'Add Plant',

iconCls:'add',

text: '添加行',

handler : function(){

var p = new Plant({

doc_code: '0',

name: '',

label:'',

price:'',

youx:'',

indoor: false

})

var n = grid.getStore().getCount()// 获得总行数

grid.stopEditing()

store.insert(n, p)

grid.startEditing(n, 0)

}

}, '-', {

text:'删除行',

tooltip:'remove ',

iconCls:'remove',

handler : function(){

var rs1 = grid.getSelectionModel().getSelected()// 返回值为 Record 类型

grid.stopEditing()

if(rs1==undefined)

{

return//判断记录集是否为空,为空返回

}

Ext.MessageBox.confirm('确认删除', '你真的要删除所有用户信息吗?',

function(btn) {

if(btn == 'yes')

{

// var rs1 = store.getAt(1)

store.remove(rs1)

grid.startEditing(0, 0)

Ext.Msg.alert('友情提示','删除成功,很好很强大')

}

else

{

//Ext.Msg.alert('您成功修改了用户信息', "被修改 "+rs1.get("name") )// 取得用户名

Ext.Msg.alert('友情提示','很天真,怎么不删')

}

})

}

},'-',{

text:'保存',

tooltip:'Save item',

iconCls:'option'

}]

})

// 单元格编辑后事件处理,暂不用

grid.on("afteredit", afterEdit, grid)

function afterEdit(e) {// 事件处理函数

var record = e.record// 被编辑的记录

Ext.Msg.wait("请等候", "修改中", " *** 作进行中...")// 显示等待对话框

// 更新界面, 来真正删除数据

Ext.Msg.alert('您成功修改了用户信息', "被修改的用户是:" + e.record.get(e.field) + "\n 修改的字段是:" + e.field)

}

//*****************************编辑窗口*****************************************************************

var simple = new Ext.FormPanel({

renderTo:'form-grid',//inner到哪个容器中

labelWidth: 75, // label settings here cascade unless overridden

url:'baododododododododo',

frame:true,

title: '编辑器',

bodyStyle:'padding:5px 5px 0',

width: 350,

defaults: ,

defaultType: 'textfield',

items: [{

fieldLabel: '名称',

name: 'name_e',

allowBlank:false

},{

fieldLabel: '菜单',

name: 'label_e',

allowBlank:false

},{

fieldLabel: '说明',

name: 'price_e',

allowBlank:false

}, {

fieldLabel: '是否有效',

name: 'youx_e'

}

],

buttons: [{

text: '保存',

handler : function(){

Ext.Ajax.request({

url : 'addrow.jsp' ,

params :'action=edit&name='+Ext.getDom('name_e').value,

method: 'GET',

text: "Updating...",

success: function ( result, request )

{

var rs1 = grid.getSelectionModel().getSelected()// 返回值为 Record 类型

var p = new Plant({

doc_code: '0',

name: Ext.getDom('name_e').value,

label:Ext.getDom('label_e').value,

price:Ext.getDom('price_e').value,

youx:Ext.getDom('youx_e').value ,

indoor: false

})

var n = store.indexOf(rs1)// 获得点击行的index

//本来想用替换方法 试了几次不爽 还是自己的增删吧

store.insert( n , p)

store.remove(rs1)

Ext.MessageBox.alert('访问成功', '数据返回的数据 '+ result.responseText)

},

failure: function ( result, request)

{

Ext.MessageBox.alert('访问失败', '失败了就没好说的了 (*^__^*) 嘻嘻……: ')

}

})

}

},{

text: '取消'

}]

})

// 载入数据

store.load()

// 单元格单击后事件处理

grid.on("click", clickedit, grid)

function clickedit(e) {

var rs1 = grid.getSelectionModel().getSelected()// 返回当前行的记录集

//getDom 获取Dom元素的方法

Ext.getDom('name_e').value=rs1.get('name') //

Ext.getDom('label_e').value=rs1.get('label') //

Ext.getDom('price_e').value=rs1.get('price') //说

Ext.getDom('youx_e').value=rs1.get('youx') //是否有效

}

})


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11774073.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存