- 浏览: 55230 次
- 性别:
- 来自: 上海
最新评论
-
liusu:
checkCode在哪里啊???
使用 jcaptcha 产生图片校验码 -
fuwang:
请问你为何使用torque?
将torque的数据库连接池由DBCP替换为C3P0 -
longzhinilin:
正在学习中,感觉挺难的!
如何使用ant -
kjhot:
已经成功将上面问题解决,这个问题是由于后台没有在respons ...
文件上传方法(ext1.1.1) -
kjhot:
ispring 写道我的文件上传后在 IE 下会出现问题,在 ...
文件上传方法(ext1.1.1)
ext可编辑的例子:
js 代码
- /*
- * hr
- * Copyright(c) 2006-2007, tylzhuang.
- */
- var GridUI = function() {
- var myPageSize = 20;
- // shorthand alias
- var fm = Ext.form, Ed = Ext.grid.GridEditor;
- // the column model has information about grid columns
- // dataIndex maps the column to the specific data field in
- // the data store (created below)
- var gridForm;
- function initForm()
- {
- gridForm = new Ext.BasicForm(
- Ext.get("gridFm"),
- {}
- );
- }
- var cm;
- function getCm()
- {
- if(!cm)
- {
- cm= new Ext.grid.ColumnModel([{
- id: 'bh',
- header: "编号",
- dataIndex: 'bh',
- hidden: false
- },
- { header: "说明",
- dataIndex: 'sm',
- width: 300,
- hidden: false,
- editor: new Ed(new fm.TextField({
- allowBlank: false
- }))
- }
- ]);
- // by default columns are sortable
- cm.defaultSortable = true;
- }
- return cm;
- }
- // create the Data Store
- var ds;
- var Plant;
- function setupDs()
- {
- // this could be inline, but we want to define the Plant record
- // type so we can add records dynamically
- Plant = Ext.data.Record.create([
- // the "name" below matches the tag name to read, except "availDate"
- // which is mapped to the tag "availability"
- {name: 'bh', mapping: 'bh', type: 'string'},
- {name: 'sm', mapping: 'sm', type: 'string'}
- ]);
- ds = new Ext.data.Store({
- // load using script tags for cross domain, if the data in on the same domain as
- // this page, an HttpProxy would be better
- proxy: new Ext.data.HttpProxy({
- url: myPath + '/editBaseData.do?eventSubmit_doList=doList'
- }),
- // create reader that reads the Topic records
- reader: new Ext.data.JsonReader({
- root: 'results',
- totalProperty: 'totalCount',
- id: 'bh'
- }, Plant),
- // turn on remote sorting
- remoteSort: true
- });
- ds.setDefaultSort('bh', 'ASC');//排序用的列名和排序方式
- ds.baseParams = {tableName : tableName};
- // trigger the data store load
- ds.load({params:{start:0, limit:myPageSize}});
- }
- // create the editor grid
- var grid;
- function buildGrid()
- {
- grid = new Ext.grid.EditorGrid('editor-grid', {
- ds: ds,
- cm: getCm(),
- //selModel: new Ext.grid.CellSelectionModel(),
- selModel: new Ext.grid.RowSelectionModel({singleSelect:false}),
- enableColLock:false
- });
- // render it
- grid.render();
- grid.loadMask = {msg: '正在加载数据,请等待...'};
- var gridFoot = grid.getView().getFooterPanel(true);
- // add a paging toolbar to the grid's footer
- var paging = new Ext.PagingToolbar(gridFoot, ds, {
- pageSize: myPageSize,
- displayInfo: true,
- displayMsg: '总 {2} 条记录,当前显示 {0} - {1}',
- emptyMsg: "没有记录"
- });
- // add the detailed view button
- paging.add('-', {
- pressed: true,
- enableToggle:true,
- text: '增加',
- cls: '',
- toggleHandler: doAdd
- });
- // add the detailed view button
- paging.add('-', {
- pressed: true,
- enableToggle:true,
- text: '提交',
- cls: '',
- toggleHandler: doMod
- });
- // add the detailed view button
- paging.add('-', {
- pressed: true,
- enableToggle:true,
- text: '删除',
- cls: '',
- toggleHandler: doDel
- });
- }
- function getModifiedData(){
- var m = ds.modified.slice(0);
- //ds.modified = [];//将修改过的记录置为空
- for(var i = 0, len = m.length; i < len; i++){
- alert(m[i].data['sm']);
- }
- }
- function doAdd(){
- var p = new Plant({
- bh: '',
- sm: ''
- });
- grid.stopEditing();
- //alert(ds.data.length);
- ds.insert(0, p);
- grid.startEditing(0, 1);
- }
- function doMod(){
- var m = ds.modified.slice(0);
- if(m.length > 0)
- {
- Ext.MessageBox.confirm('提示框', '您确定要进行该操作?' , doMod2);
- }
- else
- {
- Ext.MessageBox.alert('提示框', '对不起,您没有增加或修改记录!');
- }
- }
- function doMod2(btn){
- //alert(btn);
- if(btn == 'yes')
- {
- var m = ds.getModifiedRecords();
- jsonData = "[";
- for(var i = 0, len = m.length; i < len; i++) {
- jsonData += JSON.stringify(m[i].data) + ",";
- }
- jsonData = jsonData.substring(0, jsonData.length-1) + "]";
- gridForm.url = myPath + '/editBaseData.do?eventSubmit_doEdit=doEdit&tableName=' + tableName;
- var options =
- {
- waitMsg: '正在处理中,请等待...',
- waitTitle: '进度条',
- reset: false,
- success: function(isOk, a) {
- Ext.MessageBox.alert('提示框', a.result.msg);
- if(isOk){
- ds.modified = [];//将修改过的记录置为空,如果不清空,则修改过的数据会一直保留
- ds.load({params:{start:0, limit:myPageSize}});
- }
- },
- params:{modData:jsonData},
- scope: gridForm
- }
- gridForm.submit(options);
- }
- else
- {
- //Ext.MessageBox.alert('提示框', '您取消了该操作!');
- }
- }
- function doDel(){
- var m = grid.getSelections();
- if(m.length > 0)
- {
- Ext.MessageBox.confirm('提示框', '您确定要进行该操作?' , doDel2);
- }
- else
- {
- Ext.MessageBox.alert('提示框', '对不起,请选择要删除的记录!');
- }
- }
- function doDel2(btn)
- {
- if(btn == 'yes')
- {
- var m = grid.getSelections();
- //alert(m.length);
- var jsonData = '[' + JSON.stringify(m[0].data);
- for(i=1;i<m.length;i++)
- {
- jsonData = jsonData + ',' + JSON.stringify(m[i].data);
- }
- jsonData = jsonData + ']' ;
- gridForm.url = myPath + '/editBaseData.do?eventSubmit_doDel=doDel&tableName=' + tableName;
- var options =
- {
- waitMsg: '正在处理中,请等待...',
- waitTitle: '进度条',
- reset: false,
- success: function(isOk, a) {
- Ext.MessageBox.alert('提示框', a.result.msg);
- if(isOk){
- ds.load({params:{start:0, limit:myPageSize}});
- }
- },
- params:{delData:jsonData},
- scope: gridForm
- }
- gridForm.submit(options);
- }
- else
- {
- //Ext.MessageBox.alert('提示框', '您取消了该操作!');
- grid.getSelectionModel().clearSelections();
- }
- }
- return {
- init : function() {
- initForm();
- setupDs();
- buildGrid();
- },
- getDs: function() {
- return ds;
- }
- }
- }();
- Ext.onReady(GridUI.init, GridUI, true);
java 代码
- public ActionForward doEdit(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- try {
- String tableName = (String) request
- .getParameter("tableName");
- System.out.println("-----tableName--1----" + tableName);
- // 从前台获得组织json格式数据进行传送
- String modData = (String) request.getParameter("modData");
- if (modData != null) {
- System.out.println("-----modData--1----" + modData);
- JSONArray jsonArr = new JSONArray(modData);
- for (int i = 0; i < jsonArr.length(); i++) {
- String bh = jsonArr.getJSONObject(i).getString("bh");
- String sm = jsonArr.getJSONObject(i).getString("sm");
- // sm = Escape.unescape(sm);
- System.out.println("-----bh--2----" + bh);
- System.out.println("-----sm--2----" + sm);
- if (bh != null && !bh.equals("")) {
- System.out.println(" bh == " + bh + " sm == " + sm);
- StringBuffer sql = new StringBuffer(" update ").append(
- tableName).append(" set sm='").append(sm)
- .append("' where bh=").append(bh);
- System.out.println("update sql == " + sql);
- int iii = BasePeer.executeStatement(sql.toString());
- System.out.println("update result == " + iii);
- } else {
- System.out.println(" bh == " + bh + " sm == " + sm);
- StringBuffer sql = new StringBuffer(" insert into ")
- .append(tableName).append(" (sm) values ('")
- .append(sm).append("')");
- System.out.println("insert sql == " + sql);
- int iii = BasePeer.executeStatement(sql.toString());
- System.out.println("insert result == " + iii);
- }
- }
- }
- ResponseUtil.procFormResponse(response, true, "提交编辑成功!");
- } catch (Exception ex) {
- System.out.println("-----failure------" + ex);
- ResponseUtil.procFormResponse(response, false, "提交编辑失败,出现异常:"
- + ex.getMessage());
- }
- return null;
- }
- public ActionForward doDel(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- try {
- String tableName = (String) (String) request
- .getParameter("tableName");
- System.out.println("--doDel---tableName--1----" + tableName);
- // 从前台获得组织json格式数据进行传送
- String delData = (String) request.getParameter("delData");
- if (delData != null) {
- delData = Convertor.iso2utf(delData);
- System.out.println("-----delData--1----" + delData);
- JSONArray jsonArr = new JSONArray(delData);
- for (int i = 0; i < jsonArr.length(); i++) {
- String bh = jsonArr.getJSONObject(i).getString("bh");
- if (bh != null && !bh.equals("")) {
- System.out.println(" bh == " + bh);
- StringBuffer sql = new StringBuffer(" delete from ")
- .append(tableName).append(" where bh=").append(
- bh);
- System.out.println("delete sql == " + sql);
- int iii = BasePeer.executeStatement(sql.toString());
- System.out.println("delete result == " + iii);
- }
- }
- }
- ResponseUtil.procResponse(response, true, "删除成功!");
- } catch (Exception ex) {
- System.out.println("-----failure------" + ex);
- ResponseUtil.procResponse(response, false, "删除失败,出现异常:"
- + ex.getMessage());
- }
- return null;
- }
评论
4 楼
stworthy
2008-01-04
建议升级到EXT2.0。
3 楼
sugerboy
2008-01-04
请教楼主,你那JSON.stringify是从json.js中来的吗?我把它link到我的页面,js提示仍然找不到JSON,请教一下这是什么原因
2 楼
zjc-888
2007-11-21
顶
1 楼
cnliuxj
2007-09-13
nice,如果有导出Excel文件功能就完美了,建议LZ再进一步
发表评论
-
将torque的数据库连接池由DBCP替换为C3P0
2009-09-12 18:08 3585先说说项目情况吧,公司承建了中国电信14个省公司的号码百事通1 ... -
关于适配器模式的介绍以及torque中的实现
2009-03-29 21:28 2143关于适配器模式的介绍: 1、Java接口和Java抽象类最大的 ... -
使用 jcaptcha 产生图片校验码
2008-01-02 15:42 9499具体使用的例子: www.tongriben.com 第一步 ... -
如何使用ant
2007-12-30 06:12 2982第一步:从http://ant.apache.org 下载 a ... -
如何使用 apache torque (二)
2007-12-30 05:44 2276在如何使用 apache torque (一)中已经写过如何在 ... -
如何使用 apache torque (一)
2007-12-29 14:12 2993Apache Torque是一个使用关系数据库作为存储 ... -
ext + struts1.2 + torque
2007-09-13 10:12 2377使用ext的grid时,我使用torque作为orm,修改了部 ... -
文件上传方法(ext1.1.1)
2007-09-07 16:13 5274方法一:使用 Ext.Ajax ,但我不知道如何显示进度条,呵 ... -
ext1.1b1的bug太多,建议大家暂时不要使用
2007-07-19 06:20 3121前段时间,将做的一个demo移植到ext1.1 ...
相关推荐
《libtheora-1.1.1:自由与高效的视频编码库》 libtheora-1.1.1.zip 文件的出现,为我们提供了一个免费且强大的视频编码解决方案——libtheora。这个开源库专为MPEG视频压缩设计,旨在简化视频编码流程,让用户能够...
EXT 1.1.1是EXT库的一个版本,它包含了EXT库的核心API文档和示例代码,帮助开发者理解和使用EXT进行开发。 EXT库的核心在于其组件模型,它提供了大量的可重用的UI组件,如表格、面板、窗口、菜单、表单等,这些组件...
EXT 1.1.1是EXT框架的一个早期版本,它提供了丰富的用户界面组件和强大的数据绑定机制,使得开发者能够创建功能强大、交互性极强的Web应用。 EXT的核心特性包括: 1. **组件化**:EXT提供了一套完整的组件系统,...
linux python-3.6.5与openssl-1.1.1源码及安装教程!安装文件官网下载很慢,可以通过csdn下载,本安装版本为3.6.5,64位安装器
openssl-1.1.1u-1.el7.x86_64.rpm openssl-debuginfo-1.1.1u-1.el7.x86_64.rpm openssl-devel-1.1.1u-1.el7.x86_64.rpm openssl-1.1.1v-1.el7.x86_64.rpm openssl-debuginfo-1.1.1v-1.el7.x86_64.rpm openssl-devel-...
ExtDesigner1.1.1包含破解,2011-03-18发布,自测可用,有截图说明。 该版本更新以下内容,非常实用,推荐更新: xds-1.1.1 March 17th Enhancements * Ext.Direct - support for both JSON and JS formatting ...
1. **组件化**:Ext JS基于组件的架构允许开发者创建可重用的UI元素,如按钮、表单、树视图等。这些组件可以组合起来构建复杂的用户界面。 2. **布局管理**:提供了多种布局模式,如Fit布局、Border布局、Table布局...
**OpenSSL 1.1.1g 安装详解** OpenSSL 是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现库,它不仅提供了加密算法,还包括证书处理、SSL/TLS 协议支持以及各种实用工具。在IT领域,OpenSSL 广泛用于Web...
openssl1.1.1u
OpenSSL 1.1.1m 是该库的一个最新版本,针对 CentOS Linux 操作系统提供了一个可直接升级的 RPM 包。 **OpenSSL 的作用与重要性** OpenSSL 提供了多种功能,包括但不限于: 1. **加密算法**: 支持多种加密算法,...
**OpenSSL 1.1.1t 安装与安全指南** OpenSSL 是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现库,广泛用于各种网络服务,如Web服务器、邮件服务器以及应用程序,以确保数据传输的安全性。在网络安全中,...
赠送jar包:geronimo-annotation_1.0_spec-1.1.1.jar; 赠送原API文档:geronimo-annotation_1.0_spec-1.1.1-javadoc.jar; 赠送源代码:geronimo-annotation_1.0_spec-1.1.1-sources.jar; 赠送Maven依赖信息文件:...
SymPy 1.1.1 documentation SymPy 1.1.1 documentation
win32 位系统!!! OpenSSL 1.1.1.t 安装包,官网下载好的。2023年最新编译的哦!
OpenSSL 1.1.1 是一个开源的加密库,广泛用于实现安全套接层(SSL)和传输层安全(TLS)协议,为网络通信提供加密处理。它包含了一组强大的加密算法,如RSA、AES、SHA等,以及证书管理功能,支持多种密码学标准和...
总结起来,OpenSSL 1.1.1系列,特别是1.1.1i和1.1.1h版本,是网络安全领域的重要组成部分,它们提供了一套强大的工具来确保数据传输的安全。这两个版本的发布反映了OpenSSL项目团队对安全性和稳定性的持续关注,同时...
《OpenSSL 1.1.1d:加密库的核心与深度解析》 OpenSSL 是一个强大的安全套接字层密码库,包含各种主要的密码算法、常用的密钥和证书封装管理功能以及SSL协议,并提供丰富的应用程序供测试或其他目的使用。在我们...
静态库将所有依赖项包含在一个单一的可执行文件中,避免了运行时依赖性问题。在描述中提到的“openssl-1.1.1g静态库”,意味着开发者可以将这个库直接链接到他们的项目中,无需担心运行环境缺少OpenSSL库。 **4. ...
"openssl-1.1.1k.zip" 是OpenSSL库的一个特定版本,这里是其1.1.1k版的压缩包。 1. **OpenSSL 的主要功能**: - **加密算法**:OpenSSL 支持多种对称加密算法,如AES(高级加密标准)、DES(数据加密标准)、Blow...
jaxen-1.1.1.jar是Java中一个强大的库,专门用于执行XPath查询,它是处理XML文档不可或缺的工具。本文将深入探讨jaxen-1.1.1.jar的核心功能和应用。 XPath,全称XML Path Language,是一种在XML文档中查找信息的...