ext 代码生成器

  本文件为: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

  });

  }

  });

  }

  }]

  });

  }