ext 代码生成器

XCodeBuilder不仅能生成.Net三层代码,还生成处理层代码和Ext脚本,以下是一个grid的示例。

本文件为:ext_editgrid_products.js,用来显示,编辑,删除products表的数据。

var productsgrid; var productsstore; var productslimit = 25; //每页显示条数 var productsListPostUrl = "/management/procrequest/Proc_products.ashx?action=getlist"; var productsModifyPostUrl = "/management/procrequest/Proc_products.ashx?action=modify"; var productsDeletePostUrl = "/management/procrequest/Proc_products.ashx?action=del"; function initproductsGrid(containerid) { Ext.menu.RangeMenu.prototype.icons = { gt: 'images/greater_then.png', lt: 'images/less_then.png', eq: 'images/equals.png' }; Ext.grid.filter.StringFilter.prototype.icon = 'images/find.png'; Ext.QuickTips.init(); function formatDate(value) { return value ? value.dateFormat('M d, Y') : ''; }; var fm = Ext.form; var sm = new Ext.grid.CheckboxSelectionModel(); var cm = new Ext.grid.ColumnModel([ sm, { id:'productId', header: '产品编号', dataIndex: 'productId', sortable: true, width:70, editor: new fm.NumberField({ allowBlank: false, allowNegative: false }) }, { header: '产品名称', dataIndex: 'productName', sortable: true, width:120, editor: new fm.TextField({ allowBlank: false, allowNegative: false }) }, { header: '金额', dataIndex: 'money', sortable: true, width:120, editor: new fm.NumberField({ allowBlank: false, allowNegative: false }) }, { header: '地址', dataIndex: 'address', sortable: true, width:120, editor: new fm.TextField({ allowBlank: false, allowNegative: false }) }, { header: '电话', dataIndex: 'tel', sortable: true, width:120, editor: new fm.TextField({ allowBlank: false, allowNegative: false }) }, { header: '备注', dataIndex: 'remark', sortable: false, width:550, editor: new fm.myHtmlEditor({ allowBlank: false, allowNegative: false }) }, { header: '端口', dataIndex: 'port', sortable: true, width:70, editor: new fm.NumberField({ allowBlank: false, allowNegative: false }) } ]); cm.defaultSortable = true; /* var Plant = Ext.data.Record.create([ ]); */ productsstore = new Ext.data.JsonStore({ root: 'list', totalProperty: 'totalCount', idProperty: 'productId', remoteSort: true, fields: [ {name: 'productId' },{name: 'productName' },{name: 'money' },{name: 'address' },{name: 'tel' },{name: 'remark' },{name: 'port' } ], proxy: new Ext.data.ScriptTagProxy({ url: productsListPostUrl }) }); productsstore.setDefaultSort('productId', 'desc'); var filters = new Ext.grid.GridFilters({ filters: [ { type: 'string', dataIndex: 'productId' }, { type: 'string', dataIndex: 'productName' }, { type: 'string', dataIndex: 'money' }, { type: 'string', dataIndex: 'address' }, { type: 'string', dataIndex: 'tel' }, { type: 'string', dataIndex: 'remark' }, { type: 'string', dataIndex: 'port' } ] }); var pagingBar = new Ext.PagingToolbar({ pageSize: productslimit, store: productsstore, displayInfo: true, displayMsg: '第 {0} - {1} 条记录,总共 {2} 条记录', emptyMsg: "没有记录" }); productsgrid = new Ext.grid.EditorGridPanel({ store: productsstore, cm: cm, sm: sm, bodyStyle: 'width:100%', autoWidth: true, height: 620, renderTo: containerid, autoExpandColumn: 'productId', frame: true, clicksToEdit: 2, plugins: [filters], loadMask: true, enableTabScroll: true, tbar: [{ text: '添加', tooltip: '添加新记录', iconCls: 'add', handler:function(){ openTab("addproducts", "添加products", null, initAddproductsForm); } }, '-', { text: '编辑', tooltip: '编辑选中记录', iconCls: 'option', handler: function() { var selectedRow = productsgrid.getSelectionModel().getSelections(); if (selectedRow) { var obj = selectedRow[0]; if (!obj) return; var id = obj.get("productId"); openTab("editproducts", "编辑products", null, initAddproductsForm, id, obj); } } }, '-', { text: '删除', tooltip: '删除选中记录', iconCls: 'remove', handler: function() { var selectedRow = productsgrid.getSelectionModel().getSelections(); Ext.MessageBox.confirm('Confirm', '你确定要删除你所选定的' + selectedRow.length + "项吗?", function(btn) { if (btn == 'yes') { if (selectedRow) { for (var i = 0; i < selectedRow.length; i++) { var obj = selectedRow[i]; var id = obj.get("productId"); productsstore.remove(obj); $.ajax({ type: "POST", url: productsDeletePostUrl, dataType: "json", data: "recordid=" + id, success: function(msg) { if (msg[0] && msg[0].string != "success") productsstore.reload(); } }); } } } }); } }], bbar: pagingBar }); productsstore.load({ params: { start: 0, limit: productslimit} }); productsgrid.on("afteredit", afterEdit, productsgrid); function afterEdit(obj) { var r = obj.record; //获取被修改的行 var fildname = obj.field; //获取被修改的列 var id = r.get("productId"); var fildval = obj.value; $.ajax({ type: "POST", url: productsModifyPostUrl, dataType: "json", data: { action: 'modify', fildname: fildname, id: id, fildval: fildval }, complete: function() { }, success: function(msg) { } }); } }

ext_add_products.js,用来添加或者编辑products表。

var productsAddPostUrl = "/management/procrequest/Proc_products.ashx?action=add"; var productsUpdatePostUrl = "/management/procrequest/Proc_products.ashx?action=update"; function initAddproductsForm(containerid, idstr, rowObj) { if (!idstr) idstr = containerid; var productsForm = new Ext.FormPanel({ labelWidth: 100, // label settings here cascade unless overridden url: productsAddPostUrl, frame: true, bodyStyle: 'padding:5px 5px 0', autoWidth: true, defaults: { width: '350' }, defaultType: 'textfield', renderTo: containerid, items: [ { xtype: 'hidden', name: 'productId', id: 'productId' + idstr, value: null == rowObj ? null : rowObj.get("productId"), readOnly: true } , { xtype: 'textfield', fieldLabel: '商品名称', height: 20, name: 'productName', allowBlank: false, value: null == rowObj ? null : rowObj.get("productName"), id: 'productName' + idstr } , { xtype: 'numberfield', fieldLabel: '价格', height: 20, name: 'money', allowBlank: false, value: null == rowObj ? null : rowObj.get("money"), id: 'money' + idstr } , { xtype: 'textfield', fieldLabel: '地址', height: 20, name: 'address', value: null == rowObj ? null : rowObj.get("address"), id: 'address' + idstr } , { xtype: 'textfield', fieldLabel: '电话', height: 20, name: 'tel', value: null == rowObj ? null : rowObj.get("tel"), id: 'tel' + idstr } , { xtype: 'myhtmleditor', fieldLabel: '备注', height: 400, width: 600, name: 'remark', value: null == rowObj ? null : rowObj.get("remark"), id: 'remark' + idstr } , { xtype: 'numberfield', fieldLabel: '端口', height: 20, name: 'port', value: null == rowObj ? null : rowObj.get("port"), id: 'port' + idstr } ], buttons: [{ text: '保存', handler: function() { if (!productsForm.form.isValid()) return; productsForm.form.submit({ meghod: 'post', url: !isNaN(idstr) && parseInt(idstr) > 0 ? productsUpdatePostUrl : productsAddPostUrl, waitMsg: '正在保存,请稍候...', success: function() { Ext.MessageBox.show({ title: '保存结果', msg: '保存成功', buttons: Ext.MessageBox.OK, icon: Ext.MessageBox.INFO }); }, failure: function() { Ext.MessageBox.show({ title: '保存结果', msg: '保存失败', buttons: Ext.MessageBox.OK, icon: Ext.MessageBox.ERROR }); } }); } }] }); }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值