ExtJS练手
Ext.onReady(function () { //给grid添加数据源 var store = new Ext.data.JsonStore({ root: 'rows', totalProperty: 'total', url: 'RareWords.aspx?opt=init', fields: ['RWLID', 'RWLNAME', 'CHARACTERS', 'PRONUNCE'] }); function createStore(url) { return new Ext.data.JsonStore({ root: 'rows', totalProperty: 'total', url: url, fields: ['RWLID', 'RWLNAME', 'CHARACTERS', 'PRONUNCE'] }); } //分页工具栏 var p = new Ext.PagingToolbar({ store: store , pageSize: 20 , autoWidth: true , displayInfo: true , displayMsg: '第{0}条到{1}条,一共{2}条' , emptyMsg: '没有记录' }); //列名 var columns = new Ext.grid.ColumnModel([ { header: '编号', sortable: true, //设置这个属性进行排序 dataIndex: 'RWLID', width: 80 }, { header: '生僻字', sortable: true, //设置这个属性进行排序 dataIndex: 'RWLNAME', width: 80 }, { header: '部首', sortable: true, //设置这个属性进行排序 dataIndex: 'CHARACTERS', width: 80 }, { header: '读音', sortable: true, //设置这个属性进行排序 dataIndex: 'PRONUNCE', gridwidth: 80 } ]); //创建一个Grid var grid = new Ext.grid.GridPanel({ cm: columns , loadMask: { msg: '正在加载页面,请稍候...' } // , width: document.documentElement.clientWidth - 8 // , height: document.documentElement.clientHeight - 5 , width: 600 , height: 600 , autoScroll: true , collapsible: false , animCollapse: false , enableHdMenu: false , title: '生僻字' , renderTo: 'RareWords' , store: store , bbar: p , tbar: [{ text: '新增', id: 'btn_add', handler: Add, iconCls: 'newIcon' }, //添加一个生僻字 '-', { text: '修改', id: 'btn_sub', handler: Modify, iconCls: 'modIcon' }, //修改生僻字 '-', { text: '删除', id: 'btn_del', handler: Delete, iconCls: 'delIcon' }, '->', { xtype: 'tbtext', text: '部首:' }, { xtype: 'textfield', id: 'Characters' }, '-', { xtype: 'tbtext', text: '读音:' }, { xtype: 'textfield', id: 'Prounce' }, '-', { text: '查询', handler: Search, iconCls: 'search' } ] }); //按部首、读音查询 function Search() { var opt = 'Search'; var characters = Ext.getCmp('Characters').getValue(); var prounce = Ext.getCmp('Prounce').getValue(); //escape var receive_url = 'RareWords.aspx?opt=' + opt + '&Characters=' + escape(characters) + '&Pronunce=' + escape(prounce); store = createStore(receive_url); store.reload({ params: { start: 0, limit: 20} }); grid.reconfigure(store, grid.getColumnModel()); $('#dialog input').val(''); }; //初始化数据 query(); function query() { grid.getStore().reload({ params: { start: 0, limit: 20} }); grid.reconfigure(grid.getStore(), grid.getColumnModel()); }; //定义全局变量 var ID; var opt = ''; //生僻字弹出层 $('#dialog').dialog({ autoOpen: false, width: 400, height: 250, minWidth: 200, minHeight: 200, maxWidth: 400, maxHeight: 400, title: '生僻字', modal: true, buttons: { "确定": function () { var RWLNAME = $('#RWLNAME').val(); var CHARACTERS = $('#CHARACTERS').val(); var PRONUNCE = $('#PRONUNCE').val(); var rnt = requestUrl('RareWords.aspx', { opt: opt, RwlId: ID, RwlName: RWLNAME, Characters: CHARACTERS, Pronunce: PRONUNCE }); $(this).dialog('close'); grid.getStore().reload({ params: { start: 0, limit: 20} }); Ext.Msg.alert('提示', rnt); }, "关闭": function () { $(this).dialog('close'); } } }); //新增生僻字 function Add() { //打开遮层 opt = 'Add'; $('#dialog input').val(''); $('#dialog').dialog('open'); }; //修改生僻字 function Modify() { //选中一条记录 var rows = grid.getSelectionModel().getSelections(); if (rows.length == 0) { alert('请至少选择一条记录'); return; } opt = 'Update'; $('#dialog').dialog('open'); var RWLID = rows[0].get('RWLID'); var RWLNAME = rows[0].get('RWLNAME'); var CHARACTERS = rows[0].get('CHARACTERS'); var PRONUNCE = rows[0].get('PRONUNCE'); $('#RWLNAME').val(RWLNAME); $('#CHARACTERS').val(CHARACTERS); $('#PRONUNCE').val(PRONUNCE); ID = RWLID; }; //删除生僻字 function Delete() { //选中一条记录 var rows = grid.getSelectionModel().getSelections(); if (rows.length == 0) { alert('请至少选择一条记录'); return; } var RWLID = rows[0].get('RWLID'); var opt = 'Delete'; var receive_url = 'RareWords.aspx'; var data = { 'opt': opt, 'RwlId': RWLID }; if (confirm('你确定要删除吗?')) { $.ajax({ url: receive_url, async: false, data: data, success: function () { //删除之后更新页面数据 grid.getStore().reload({ params: { start: 0, limit: 20} }); } }); } }; });