`
hackbomb
  • 浏览: 212188 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ext.grid.EditorGridPanel向后台传送数据

    博客分类:
  • Ext
阅读更多

html 页面

<html>
  <head>
    <title>测试数据</title>
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" href="../../share/ext2.0.2/resources/css/ext-all.css"/>
    <script type="text/javascript" src="../../share/ext2.0.2/adapter/yui/yui-utilities.js"></script>
    <script type="text/javascript" src="../../share/ext2.0.2/adapter/yui/ext-yui-adapter.js"></script>
    <script type="text/javascript" src="../../share/ext2.0.2/ext-all-debug.js"></script>
  </head>

  <body class="body" oncontextmenu="self.event.returnValue=false" scroll="no">
   
      <table width="100%" border="0" valign=top>
        <tr>
          <td width="70%">&nbsp;</td>
          <td><div id="bt_GetCard"></div></td>
          <td><div id="bt_Save"></div></td>
          <td><div id="bt_Cancel"></div></td>
        </tr>
      </table>
<table width="500" border="0" align="center">
<tr><td><div id="test_grid"></div></td></tr>
</table>
</body>

<script type="text/javascript">

Ext.grid.dummyData = [
    {Ids: 1, description: '', rate: 0},
    {Ids: 2, description: '', rate: 0},
    {Ids: 3, description: '', rate: 0},
    {Ids: 4, description: '', rate: 0},
    {Ids: 5, description: '', rate: 0}
];

Ext.onReady(function(){

Ext.QuickTips.init();

    var xg = Ext.grid;

    var reader = new Ext.data.JsonReader({
        fields: [
            {name: 'Ids', type: 'int'},
            {name: 'description', type: 'string'},
            {name: 'rate', type: 'float'}
        ]

    });

    var dataset = new Ext.data.Store({
        reader: reader,
        data: xg.dummyData
    });

    var grid = new xg.EditorGridPanel({

        ds: dataset,
        columns: [
            {
                header: '序  号',
                width: 50,
                dataIndex: 'Ids'
            },{
                header: "描  述",
                width: 300,
                dataIndex: 'description',
                hideable: false,
                editor: new Ext.form.TextField({
                   allowBlank: false
                })
            },{
                header: "收费金额",
                width: 100,
                //sortable: true,
                renderer: Ext.util.Format.usMoney,
                dataIndex: 'rate',
                editor: new Ext.form.NumberField({
                    allowBlank: false,
                    allowNegative: false,
                    style: 'text-align:left'
                })
            }
        ],

        frame: false,
        align: 'center',
        width: 500,
        height: 250,
        clicksToEdit: 1,
        collapsible: false,
        animCollapse: false,
        trackMouseOver: false,
        iconCls: 'icon-grid',
        renderTo: 'test_grid'
    });

    var bt_Save = new Ext.Button({
        text: '&nbsp;保&nbsp;&nbsp;存&nbsp;'
    });
    bt_Save.render('bt_Save');
    bt_Save.on('click', function(){
        var m = dataset.getModifiedRecords();
        if (m.length == 0){
            alert("没有数据");
            return false;
        }
        var sSend = "["
        for (var i = 0, len = m.length; i < len; i++){
            sSend = sSend + "{Memo:'" + m[i].data['description'] + "', Mey:'" + m[i].data['rate'] + "'}";
            if (i < len - 1)
                sSend = sSend + ","
        } 
        sSend = sSend + "]";
       
        sSend = Ext.util.JSON.encode(sSend);
       
        Ext.Ajax.request({
            url: 'bxConsume_do.jsp',
            method: 'POST',
            success: function (result, request){
                alert('成功' + result.responseText);
            },
            failure: function (result, request){
                alert('失败' + result.responseText);
            },
            params: {data: sSend}
        });
    });
});
</script>
</html>

bxConsume_do.jsp 页面如下:

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="net.sf.json.*" %>
<%
    String S = "";
    int iCount = 0;
    JSONObject jsonObj;
    JSONArray jsonArr;
   
    S = request.getParameter("data");
    if (request.getParameter("data") == null){
        out.print("参数错误 1!");
        return;
    };
    S = java.net.URLDecoder.decode(S, "UTF-8");
    S = S.substring(1, S.length() - 1);

    jsonArr = JSONArray.fromObject(S);   
   
    for (int i = 0; i < jsonArr.size(); i++){
        jsonObj = jsonArr.getJSONObject(i);
        JSONObject.toBean(jsonObj);
       
        if (jsonObj.getString("Memo").trim() != "" &&
            jsonObj.getDouble("Mey") > 0)
            iCount = iCount + 1;
        System.out.println( jsonObj.getString("Memo").trim() );
        System.out.println( jsonObj.getDouble("Mey") );
    }

%>

分享到:
评论

相关推荐

    可编辑表格Ext.grid.EditorGridPanel

    此文档是可编辑表格Ext.grid.EditorGridPanel的说明以及示例的源代码,放到eclipse里面即可运行,显示出效果!

    EXT核心API详解

    73、Ext.grid.EditorGridPanel类 ……… 62 74、Ext.grid.PropertyGrid类 …………… 65 1、Ext类 addBehaviors(Object obj) : void 对选择的元素 应用事件侦听器,事件名以@附加在结尾,例如 addBehaviors({ ...

    ExtJS入门教程(超级详细)

    1、Ext类 ………………………………… 2 2、Array类 …………………………… 4 3、Number类 …………………………… 4 4、...73、Ext.grid.EditorGridPanel类 ……… 62 74、Ext.grid.PropertyGrid类 …………… 65

    Ext.grid.GridPanel右键菜单

    右键菜单的资料,代码已经详细描写。请仿照文件中所描述即可使用,不限于EXT4.0以上版本使用。

    给Extjs的GridPanel增加“合计”行

    NULL 博文链接:https://tonylian.iteye.com/blog/1735525

    Ext可编辑的tree,EditorGridPanel

    因为项目的需求,实现一个可以编辑的tree,在网上找了一个牛人写的控件.Ext.ux.maximgb.tg.EditorGridPanel 把源码下载下来以后 不能运行,自己根据给出的列子,另写了一个小程序.不过并没有与数据库交互.

    Ext 3.2的一个TreeGrid

    感谢 Ericzhen 远离颠倒梦想,蕴籍无上清凉 这里引用它的资源 仅作分享 http://www.cnblogs.com/Ericzhen/archive/2012/06/11/2545186.html

    ext 读取xml 可编辑grid

    ext 数据对象的定义 EditorGridPanel的使用 ext读取xml ext对各种数据格式的支持

    ExtJS下grid的一些属性说明

    1.界面修改(css style): Extjs中界面风格与我们产品本身的风格有很大不同,从边框、... 属性的作用(About Ext.grid. GroupingView, EditorGridPanel): Extjs的grid功能强大,如排序、隐藏列或移动列等,这些都有一些属

    Extjs EditorGridPanel中ComboBox列的显示问题

    为了解决这个问题需要在EditorGridPanel的ColumnModel中显示ComboBox的地方使用renderer属性,重新渲染,方法如下: 代码如下: //部门列表 var comboxDepartmentStore = new Ext.data.Store({ proxy: new Ext.data....

    GridPanel属性详解

    详细介绍GridPanel各项属性,ExtJS 普通表格:Ext.grid.GridPanel属性详解

    Extjs可编辑的EditorGridPanel

    NULL 博文链接:https://zxf-noimp.iteye.com/blog/629629

    解决editorgridpanel编辑时视图向右移动的问题

    NULL 博文链接:https://fourfire.iteye.com/blog/355853

    extjs实例与学习资料

    因为前段时间有两个专案要用到extjs技术,所以自己学了一段...grid,tree,显示树信息的TreePanel、用于显示表格的GridPanel及EditorGridPanel,还有代表应用程序窗口的Ext.Window,与数据库交付,希望对初学者带来帮助

    ExtJs2.0简明教程

    ………..35 第六章 使用表格控件Grid……….………………………………………………………………………………..……36 6.1 基本表格GridPanel……….…………………………………………………………………………...

    extjsnaction

    1 A framework apart 2 Back to the basics 3 Events, Components, and Containers ...8 The EditorGridPanel 9 Taking root with Trees 10 Toolbars and Menus 11 Drag and drop with Widgets

    ExtJS 2.0实用简明教程

    6)Ext类库简介 7)Border区域布局 8)ExtJS的组件 9)Column列布局 10)组件的使用 11)Fit布局 12)Form布局 13)组件的配置属性 14)Accordion布局 15)事件处理 16)Card布局 17)Pable布局及其它布局 18)工具栏Toolbar 19)...

    EXTJS 学习笔片段1

    Grid EditorGridPanel 使用本地store Toolbar工具菜单创建 分页工具栏创建 Window 弹出处理window窗口(模态窗口) MessageBox show(报错窗口、保存提示、选择窗口) alert prompt 实用工具类 JS异常捕捉 ...

Global site tag (gtag.js) - Google Analytics