ext 一个json对象中有多种数据

[code]
{"name":"custom",
"field1":null,
"field2":null,
"field3":null,
"root":[{"id":"1","name":"company1"},{"id":"2","name":"company2"}]}

学习ext不久,在使用struts2中的json-plugin插件时,发现其将action中的值都转化成了json数据
如上,我的问题是我可以通过
var store = new Ext.data.Store({
url: 'example/JSONExample.action',
reader: new Ext.data.JsonReader({
root:'root',
//........

});
拿到所有的root数据,但如何得到name,field1.....这样的字段的数据?
[/code]

[b]问题补充:[/b]
谢谢!!!问题已采纳
我还有一个很小的问题
[code]
store.on("load",function(){
alert(store.reader.jsonData.name);
})

store.load();

[/code]
我需要在store.load前+这样的一句话才能得到数据
为什么在store.load()后面调用就只会报undefine?
望告知,不甚感谢

1个回答

store.reader.jsonData.name

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Ext中json解析如何获取属性名
在Ext中解析json数据用Ext.decode(str); 比如{'value':'this is value'}这个,我应该怎么获取到value呢?我知道获取“This is value”是通过obj.value,可是value是动态的,我怎么知道obj下有没有value这个属性名呢?
各位软件牛人怎么通过ext获得json的数据。
各位软件牛人怎么通过ext获得json的数据。有没有简单的例子???
ext tree 如何根据json对象生成节点?
<p>var jsondata = [ { <br>                        id: '111', <br>                        text: '文件夹1_1', </p> <p>                        children: [] <br>                    },{ <br>                        id: '222', <br>                        text: '文件夹1_2', <br>                        children: [] <br>                   } <br>];</p> <p> 我现在有上面这样一个json格式的对象jsondata,有一个ext tree 对象,tree对象有一个根节点,tree对象的根节点默认不展开,当点击加号展开时,将jsondada加载为其下的子节点。简单点说,ext tree 加载节点的方式通常是请求服务器print一个json格式的字符串,或者请求一个.json文件,而我现在是在页面上有一个json格式的对象,如何能让tree读取这个json对象来生成节点,而不请求任何外部url。我设想的思路是,实际上就是动态加载树节点,但动态请求的不是url,可以是一个方法,返回一个json格式的对象,类似上面的jsondata。ext tree对象有没有这样的实现方式啊,或者有其他的途径可以解决我的需求!</p>
ext通过json读取数据库日期问题
刚接触ext没有多久,碰到这个问题,还望大家不吝赐教啊 从数据库中取出数据以后,放到extjs中的grid 中,用renderer:Ext.util.Format.dateRenderer('Y年m月d日')进行格式化,页面输出结果竟然得到 NaN 年NaN月NaN日 这个怎么解决? 急求答案啊 [b]问题补充:[/b] lovewhzlq (资深架构师) -------------------------------- 刚接触ext,您说的还不太明白,能具体点吗 [b]问题补充:[/b] [code="java"] var cm = new Ext.grid.ColumnModel([ {header:'学号',dataIndex:'studentid',sortable:true}, {header:'姓名',dataIndex:'studentname',sortable:true}, {header:'性别',dataIndex:'sex',sortable:true}, {header:'生日',dataIndex:'birthday',sortable:true,renderer :Ext.util.Format.dateRenderer('m/d/Y')}, {header:'班级',dataIndex:'class',sortable:true}, {header:'专业',dataIndex:'discipline',sortable:true}, {header:'籍贯',dataIndex:'address',sortable:true} ]); var store = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({url:'studentList.action'}), reader: new Ext.data.JsonReader({ totalProperty : 'totalCount', root: 'list', successProperty :'success' }, [ {name: 'studentid',mapping:'studentid',type:'int'}, {name: 'studentname',mapping:'studentname',type:'string'}, {name: 'sex',mapping:'sex',type:'int'}, {name: 'birthday',mapping:'birthday',type:'date'}, {name: 'class',mapping:'class_',type:'int'}, {name: 'discipline',mapping:'discipline',type:'int'}, {name: 'address',mapping:'address',type:'string'} ]) }); [/code] [b]问题补充:[/b] 日期格式竟然是 2008-10-23T10:30:00 这是通过json从oracle数据库中取得的
struts2 Action返回的json对象无法绑定到Ext grid中
大家好: 后台返回的json对象格式上好像出了点问题,参考成功的例子,json对象应该是以下格式: { total: 2, root : [ { id: 1, firstname: 'Bill', occupation: 'Gardener' }, // a row object { id: 2, firstname: 'Ben' , occupation: 'Horticulturalist' } // another row object ] } 可是我现在的json对象只有root 里面这部分,如下: { { id: 1, firstname: 'Bill', occupation: 'Gardener' }, // a row object { id: 2, firstname: 'Ben' , occupation: 'Horticulturalist' } // another row object } 我从Ext的js文件,struts2的xml文件,后台action,都看了一遍也不知道是什么造成的? Ext相关部分: [code="javaScript"] ds: new Ext.data.Store({ url : 'getCustomersList.action', reader : new Ext.data.JsonReader({totalProperty : "total", root : "root"}, [{name : "customerCode", type : "string"}, {name : "customerName", type : "string"}, {name : "conDist", type : "boolean"}, {name : "supDist", type : "boolean"}, {name : "delDist", type : "boolean"}, {name : "consigneeDist", type : "boolean"}, {name : "dcCompDist", type : "boolean"}, {name : "shippingCompDist", type : "boolean"}, {name : "customerRank", type : "string"}, {name : "creditRank", type : "string"}, {name : "availDist", type : "boolean"}]) }) [/code] struts2 xml相关部分 [code="xml"] <package name="mm" extends="json-default" namespace="/action/mm"> <action name="getCustomersList" class="wms.action.mm.CustomerManagementAction" method="getCustomersList"> <result type="json"> <param name="root">customersInfoList</param> <param name="excludeNullProperties">true</param> </result> </action> </package> [/code] 我的lib是:struts2-json-plugin-2.1.8.1.jar和json-lib-2.1.jar
Ext.JSON.encode方法
我想将Ext里面的model转成json字符串,如下 [code="java"]var p1 = Ext.create("Person",{id:1,name:'中文',email:'xuting306333@sina.com'});console.log(Ext.JSON.encode(p1.raw));[/code] 但是转出来之后变成了这个样子 [code="java"]{"id":1,"name":"\u4e2d\u6587","email":"xuting111@sina.com"} [/code] name里面的中文字符帮我转成了这个样子,有没有变法不要这种效果,还要这种效果 [code="java"]{"id":1,"name":"中文","email":"xuting111@sina.com"} [/code]
Ext json 问题
后台 String json = "{success:"; if (b) json += "true"; else json += "false"; json += "}"; try { response.getWriter().write(json); } catch (IOException e) { e.printStackTrace(); } 前台 [code="java"] _login.getForm().submit({ success : function(json) { Ext.Msg.alert("成功提示", "大家好啊,成功了!"); [/code] 如何 获取 json 里传过来的值 用 var data=eval("("+json+")"); 在 data.result 获取不到
ext grid显示json数据
<pre name="code" class="c#">刚开始学ext,在网上找了个例子就是数据都不出来</pre> <pre name="code" class="c#">&lt;%--Default.aspx--%&gt;</pre> <pre name="code" class="c#">&lt;html xmlns="http://www.w3.org/1999/xhtml" &gt; &lt;head runat="server"&gt; &lt;title&gt;Ext-Example&lt;/title&gt; &lt;link rel="Stylesheet" type="text/css" href="ext-4.0-pr5/resources/css/ext-all.css" /&gt; &lt;script type="text/javascript" src="ext-4.0-pr5/bootstrap.js"&gt;&lt;/script&gt; &lt;script type="text/javascript"&gt; Ext.onReady(function(){ var proxy=new Ext.data.HttpProxy( { url:'Default2.aspx' } ); //定义reader var reader=new Ext.data.JsonReader( { }, [ {name: 'appeId'}, {name: 'survId'}, {name: 'location'}, {name: 'surveyDate'}, {name: 'surveyTime'}, {name: 'inputUserId'} ] ) //构建Store var store=new Ext.data.Store( { proxy:proxy, reader:reader }); //载入 store.load(); // create the grid var grid = new Ext.grid.GridPanel({ store: store, columns: [ {header: "appeId", width: 60, dataIndex: 'appeId', sortable: true}, {header: "survId", width: 60, dataIndex: 'survId', sortable: true}, {header: "location", width: 60, dataIndex: 'location', sortable: true}, {header: "surveyDate", width: 100, dataIndex: 'surveyDate', sortable: true}, {header: "surveyTime", width: 100, dataIndex: 'surveyTime', sortable: true}, {header: "inputUserId", width:80, dataIndex: 'inputUserId', sortable: true} ], renderTo:'example-grid', width:540, height:200 }); }); &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;form id="form1" runat="server"&gt; &lt;div id="example-grid"&gt; &lt;/div&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt;</pre> <pre name="code" class="c#">&lt;%--Default2.aspx--%&gt;</pre> <pre name="code" class="c#">&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %&gt; &lt;%=strJson %&gt;</pre> <pre name="code" class="c#">&lt;%--Default2.aspx.cs--%&gt;</pre> <pre name="code" class="c#">public string strJson;     protected void Page_Load(object sender, EventArgs e)     {         strJson = @"             [                 {'appeId':'1','survId':'1','location':'','surveyDate':'2008-03-14','surveyTime':'12:19:47','inputUserId':'1','inputTime':'2008-03-14 12:21:51','modifyTime':'0000-00-00 00:00:00'},                 {'appeId':'2','survId':'32','location':'','surveyDate':'2008-03-14','surveyTime':'22:43:09','inputUserId':'32','inputTime':'2008-03-14 22:43:37','modifyTime':'0000-00-00 00:00:00'},                 {'appeId':'3','survId':'32','location':'','surveyDate':'2008-03-15','surveyTime':'07:59:33','inputUserId':'32','inputTime':'2008-03-15 08:00:44','modifyTime':'0000-00-00 00:00:00'},                 {'appeId':'4','survId':'1','location':'','surveyDate':'2008-03-15','surveyTime':'10:45:42','inputUserId':'1','inputTime':'2008-03-15 10:46:04','modifyTime':'0000-00-00 00:00:00'},                 {'appeId':'5','survId':'32','location':'','surveyDate':'2008-03-16','surveyTime':'08:04:49','inputUserId':'32','inputTime':'2008-03-16 08:05:26','modifyTime':'0000-00-00 00:00:00'},                 {'appeId':'6','survId':'32','location':'','surveyDate':'2008-03-20','surveyTime':'20:19:01','inputUserId':'32','inputTime':'2008-03-20 20:19:32','modifyTime':'0000-00-00 00:00:00'}             ]";     }</pre> <p> </p>
ext 怎样读取json 数据 谢谢
public String browse() { this.list = this.manager.getAll(); JSONArray jsonArray = JSONArray.fromObject(this.list); String userString = jsonArray.toString(); System.out.println(userString); return Action.SUCCESS; } 我现在已经把list封装成json的格式了,请高手把ext解析的代码列出 !谢谢
struts1.2页面通过ext获取json数据问题,为什么没有数据?
这是我的代码,望各位大哥大姐们 看看,帮我找找问题,谢谢了! 我 url: 'login.do?method=alluser',这句代码没有执行,因为后台没有打印, 页面的ext代码: Ext.onReady(function(){ Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); // example of custom renderer function var store = new Ext.data.JsonStore({ autoload:true, proxy: new Ext.data.HttpProxy({ url: 'login.do?method=alluser', method:'post', reader: new Ext.data.JsonReader({ totalProperty:'pageInfo', root:'data', fields:[ {name: 'userid',mapping:'data.userid'}, {name: 'groupid',mapping:'data.groupid'}, {name: 'username',mapping:'data.username'}, {name: 'pwd', mapping:'data.pwd'}, {name: 'store',mapping: 'data.store'}, {name: 'rfset', mapping: 'data.rfset'} ] }) }) }); // create the Grid var grid = new Ext.grid.GridPanel({ store: store, columns: [ {id:'userid',header: "userid", width: 60, sortable: true, dataIndex: 'userid'}, {header: "groupid", width: 60, sortable: true, dataIndex: 'groupid'}, {header: "username", width:60, sortable: true, dataIndex: 'username'}, {header: "pwd", width:60, sortable: true, dataIndex: 'pwd'}, {header: "store", width: 60, sortable: true, dataIndex: 'store'}, {header: "rfset", width: 60, sortable: true, dataIndex: 'rfset'} ], autoWidth:false, width:780, autoHeight:true, bbar: new Ext.PagingToolbar({ pageSize: 25, store: store, displayInfo: true, displayMsg: ' 本页显示从{0} 到 {1} 条,共 {2} 条数据', emptyMsg: "没有可以显示的数据" }) }); grid.render('grid-example'); grid.getSelectionModel().selectFirstRow(); }); JavaAction代码: public ActionForward alluser(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws IOException{ ILoginservice inter=(Loginservice)this.getBean("loginDao"); List users=inter.findAll(Userinfo.class); System.out.print("====================================="); JSONArray arr=new JSONArray(); String tabstring=""; for(Object o : users){ Userinfo u=(Userinfo)o; arr.add(u); } try { JSONObject object=new JSONObject(); object.put("data", arr); object.put("pageInfo",users.size()); tabstring = object.toString(); } catch (Exception e) { tabstring = "ss"; } System.out.println("++++++++++++++++"+tabstring); res.getWriter().write(tabstring); return mapping.findForward("userlist"); }
ext开发中,大家通常是怎么将数据库查询出的对象,转成json的
我是自己写了个公函,利用反射机制来转换。 不知道有没有开源的工具包可以用。 今天还碰到一个郁闷的事,combox从数据库查询列表时,文档要求是一个2维数组。 我没注意,公函转出来还是一个对象数组,郁闷出错了。 不知道ext,为什么这么设计。
ext + json 顯示問題
[code="java"] jsonObject = new JSONObject(); jsonArray = JSONArray.fromObject(empList); jsonObject.put("empList", jsonArray); out.print(jsonObject); 按道理 我把集合轉換成json數據,然後輸出, 就可以在頁面裏面去訪問啊 但是我在 ext 中 用的時候不行, 就是直接 empList.*** 就可以了吧 請問誰知道不 [/code]
关于EXT用json返回结果分页的问题
最近在用ext,可遇到了一个很奇怪的问题 index.jsp <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="s" uri="/struts-tags" %> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href=" <%=basePath%>"> <title>My JSP 'index.jsp' starting page </title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <link rel="stylesheet" type="text/css" href="resources/css/ext-all.css" /> <script type="text/javascript" src="js/ext-base.js"> </script> <script type="text/javascript" src="js/ext-all-debug.js"> </script> <script type="text/javascript" src="js/ext-lang-zh_CN.js"> </script> <script> function renderSex(value) { if (value == 'male') { return " <span style='color:red;font-weight:bold;'>红男 </span> <img src='user_male.png' />"; } else { return " <span style='color:green;font-weight:bold;'>绿女 </span> <img src='user_female.png' />"; } } function renderDescn(value, cellmeta, record, rowIndex, columnIndex, store) { var str = " <input type='button' value='查看详细信息' onclick='alert(\"" + "这个单元格的值是:" + value + "\\n" + "这个单元格的配置是:{cellId:" + cellmeta.cellId + ",id:" + cellmeta.id + ",css:" + cellmeta.css + "}\\n" + "这个单元格对应行的record是:" + record + ",一行的数据都在里边\\n" + "这是第" + rowIndex + "行\\n" + "这是第" + columnIndex + "列\\n" + "这个表格对应的Ext.data.Store在这里:" + store + ",随便用吧。" + "\")'>"; return str; } Ext.onReady(function(){ var sm = new Ext.grid.CheckboxSelectionModel(); var cm = new Ext.grid.ColumnModel([ new Ext.grid.RowNumberer(), sm, {header:'编号',dataIndex:'id',sortable:true}, {header:'性别',dataIndex:'sex',sortable:true,renderer:renderSex}, {header:'名称',dataIndex:'name',sortable:true}, {header:'描述',dataIndex:'descn',sortable:true,renderer:renderDescn} ]); var ds = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({url:'gird.jsp'}), reader: new Ext.data.JsonReader({ totalProperty: 'totalProperty', root: 'root' },[ {name: 'id',mapping:0}, {name: 'sex',mapping:1}, {name: 'name',mapping:2}, {name: 'descn',mapping:3} ]) }); var grid = new Ext.grid.GridPanel({ renderTo: 'grid', height:500, ds: ds, cm: cm, sm: sm, bbar: new Ext.PagingToolbar({ pageSize: 2, store: ds, displayInfo: true, displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg: "没有记录" }) }); ds.load({params:{start:0,limit:2}}); grid.render(); }); </script> </head> <body> <div id="grid" style="height:265px;"> </div> <br> </body> </html> gird.jsp <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href=" <%=basePath%>"> <title>My JSP 'gird.jsp' starting page </title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <% String start = request.getParameter("start"); String limit = request.getParameter("limit"); System.out.println("start=" + start); System.out.println("limit=" + limit); try { int index = Integer.parseInt(start); int pageSize = Integer.parseInt(limit); String json = "{totalProperty:100,root:["; for (int i = index; i < pageSize + index; i++) { json += "{id:" + i + ",sex:'sex" + i + "',name:'name" + i + "',descn:'descn" + i + "'}"; if (i != pageSize + index - 1) { json += ","; } } json += "]}"; System.out.println("json===" + json); response.getWriter().write(json); response.getWriter().close(); } catch(Exception ex) { } %> </body> </html> 刷新index.jsp打印出来 start=0 limit=2 json==={totalProperty:100,root:[{id:0,sex:'sex0',name:'name0',descn:'descn0'},{id:1,sex:'sex1',name:'name1',descn:'descn1'}]} 点分页的下一页打印出 start=2 limit=2 json==={totalProperty:100,root:[{id:2,sex:'sex2',name:'name2',descn:'descn2'},{id:3,sex:'sex3',name:'name3',descn:'descn3'}]} 可页面gird里就是没有数据,分页有效 gird.jsp里的json是出来了,但index.jsp里的ext接收不到数据,表格里就是没数据显示,但表格也只显示2列,就是没实际的数据结果 这是为什么?
用后台JSON填充EXT FormPanel 无数据显示
我再TABPANEL上建了grid,在选择grid上的一条数据后点击“修改”按钮,弹出个window内嵌套了FormPanel 并用后台传来的JSON数据填充该FORM。页面倒是弹出来了,后台传来的JSON也正常啊,但怎么就是数据填充不上去啊。。。有谁来帮我看看什么问题吗~?代码如下 [code="java"] var but = this; but.setDisabled(true); var gridPanel = Ext.getCmp(n.id); var gsm = gridPanel.getSelectionModel(); var row = gsm.getSelections(); if (row.length > 0 && row.length <= 1) { var selectRowId = row[0].get("userId"); if (!Ext.getCmp(n.id + 'edit-user-win')) { // 判断是否已经存在该窗口 n.id是树节点的ID // alert(selectRowId); new Ext.Window({ id : n.id + 'edit-user-win', // 设置ID iconCls : 'option', title : '修改用户', collapsible : true, width : 400, height : 320, plain : true, resizable : false, // 不能调整大小 items : new Ext.form.FormPanel({ id : n.id + 'edit-user-form', layoutConfig : { labelSeparator : ":" }, labelWidth : 80, labelAlign : "right", layout : "form", headerAsText : false, animCollapse : true, autoScroll : false, buttonAlign : "right", hideBorders : false, disabledClass : 'color:black', frame : true, border : false, reader : new Ext.data.JsonReader({ successProperty : 'success', root : 'user', id : 'userId' }, new Ext.data.Record.create([{ name : 'users.userId', mapping : 'userId', type : 'string' }, { name : 'users.userName', mapping : 'userName', type : 'string' }, { name : 'users.trueName', mapping : 'trueName', type : 'string' }, { name : 'users.tel', mapping : 'tel', type : 'string' }, { name : 'users.mobile', mapping : 'mobile', type : 'string' }, { name : 'users.email', mapping : 'email', type : 'string' }, { name : 'users.address', mapping : 'address', type : 'string' }, { name : 'users.sex', mapping : 'sex', type : 'string' }])), bodyStyle : 'padding:5px', defaults : { width : 100 }, items : [{ xtype : 'hidden', id : 'edit-userId', name : 'users.userId' }, { xtype : "textfield", id : 'edit-userName', name : 'users.userName', fieldLabel : "用户名", anchor : "100%", disabled : true, anchor : '95%' }, { xtype : "textfield", id : 'edit-trueName', name : 'users.trueName', fieldLabel : "姓名", anchor : "100%", emptyText : "请输入您的真实姓名", maxLength : 20, maxLengthText : "姓名输入过长,必须在20个字符以内", allowBlank : false, blankText : "姓名为必填字段", anchor : '95%' }, { xtype : "combo", id : 'edit-sex', name : 'users.sex', triggerAction : "all", fieldLabel : "性别", anchor : "100%", readOnly : true, store : new Ext.data.SimpleStore({ fields : ["value", "name"], data : [['男', '男'], ['女', '女']] }), displayField : 'name', valueField : 'value', mode : 'local', // lazyRender : true, // typeAhead : true, // triggerAction : 'all', // forceSelection : true, anchor : '95%' }, { xtype : "textfield", id : 'edit-tel', name : 'users.tel', fieldLabel : "电话号码", anchor : "100%", maxLengthText : "电话号码过长", maxLength : 15, emptyText : "", regex : /^[0-9]+$/, regexText : '输入必须为数字', anchor : '95%' }, { xtype : "textfield", id : 'edit-mobile', name : 'users.mobile', fieldLabel : "手机号码", anchor : "100%", maxLengthText : "手机号码过长", maxLength : 15, regex : /^[0-9]+$/, regexText : '输入必须为数字', anchor : '95%' }, { xtype : "textfield", id : 'edit-email', name : 'users.email', fieldLabel : "电子邮件", anchor : "100%", vtype : "email", vtypeText : "电子邮件格式不正确", maxLengthText : "电子邮件过长", maxLength : 100, anchor : '95%' }, { xtype : "textarea", id : 'edit-address', name : 'users.address', fieldLabel : "地址", maxLength : 200, maxLengthText : "地址过长,必须在200个字符以内", anchor : '95%' }], buttons : [{ text : '确定', type : 'submit', handler : function() { } }] }) }).show(); Ext.getCmp(n.id + 'edit-user-form').form.load({ url : 'findUser', params : { 'users.userId' : selectRowId } }); } else { Ext.getCmp(n.id + 'edit-user-win').setActive(true); } Ext.getCmp(n.id + 'edit-user-win').on('close', function() { but.setDisabled(false);// grid面板上修改按钮 }); } else { Ext.Msg.show({ title : '操作提示', msg : '请确认是否选中一条需要操作的信息!', buttons : Ext.Msg.OK, icon : Ext.Msg.INFO }); but.setDisabled(false); } [/code] 后台传来的JSON也正常啊 如下: [code="json"] {"success":true,"user":{"address":null,"createDate":null,"email":null,"flag":null,"mobile":null,"sex":null,"tel":null,"trueName":"123123","updateDate":null,"userId":"20100902000000000047","userName":"123123","userPwd":null}} [/code] 下图是firebug控制台的东西。。。得到的JSON数据 [img]http://dl.iteye.com/upload/attachment/302656/a96e3f08-046a-34cb-bece-30f42f2e68e0.jpg[/img]
Ext动态加载多个对象数据
小弟刚刚接触Ext,遇到一个问题,希望各位有经验的大虾能帮忙解决一下!小弟非常感谢 首先我实现的是一个查看详情的功能!!!! 前台,我通过一个查询按钮,进行请求后台获取到 一个json对象(一个家庭详细信息(包括:家庭基本信息数据,以及2个外键表,一个是成员,一个是家庭经营项目)) 返回结果: { success:true, data:{ id:'familyId', name:'familyName', arList:[{id:'arId1',name:'arName1'},{id:'arId2',name:'arName2'}], rsList:[{id:'rsId1',name:'rsName1'},{id:'rsId2',name:'rsName2'}] } } 在使用Ajax.request成功请求后: success : function(resp, options) { /*这里我想将data下面的id,name赋值给ep_form*/ /*这里我想将data下面的arList赋值到ar_store*/ /*这里我想将data下面的rsList赋值给rs_store*/ win_addEp.show(); } 上面3行代码,我想了好久也不知道如何实现!!!! 试过:Ext.decode(resp.responseText).data来获取data Ext.decode(resp.responseText).data.rsList来获取data下面的rsList 查过store的API loadData之类的,始终不得其法! 似乎我有那些方面不太了解!!希望有高手能指点1 2,小弟不胜感激!!!
EXT:关于TreePanel中json数据的格式问题
loader: new Ext.tree.TreeLoader({ dataUrl:'test.json' }), test.json为如下时正常: [ {id:'01',text:'01',children:[ {id:'01-01',text:'01-01',leaf:true}, {id:'01-02',text:'01-02',children:[ {id:'01-02-01',text:'01-02-01',leaf:true}, {id:'01-02-02',text:'01-02-02',leaf:true} ]}, {id:'01-03',text:'01-03',leaf:true} ]}, {id:'02',text:'02',leaf:true} ] 如果在每个元素都加上属性url='',就不行了,如下: [ {id:'01',url='',text:'01',children:[ {id:'01-01',url='',text:'01-01',leaf:true}, {id:'01-02',url='',text:'01-02',children:[ {id:'01-02-01',url='',text:'01-02-01',leaf:true}, {id:'01-02-02',url='',text:'01-02-02',leaf:true} ]}, {id:'01-03',url='',text:'01-03',leaf:true} ]}, {id:'02',url='',text:'02',leaf:true} ] 请问是什么问题呢? [b]问题补充:[/b] 多谢啊,好郁闷啊,我以为在哪里出错了,原来是格式不对,多谢了。
如何读取和操作加载到ext tree上的json的数据
我加载到tree上的json数据比较复杂,不仅仅是id text children等数据,还有其他数据,我如何来读取和操作这个json的数据 <br />我的json数据如{id:'',parerntId:'',text:'',name:'',还有其他内容} <br />谢谢! <br /> <br /> <br />
Ext.data.JsonReader 解析 json 的联合主键数据 求教?
json 数据: { "list": [ { "contractPeople":"98","description":"98", "id"{"code":"98","type":"98"}, "infoSource":"1","infoSourceType":"1","note":"98","usebyDepartment":"98" } ], "totalCount":1 } 难点: "id":{"code":"99","type":"99"} 这个是json转化来的 联合主键 数据 格式 ext 用 reader:new Ext.data.JsonReader 解析普通属性没问题,在里面一加 "id":{"code":"99","type":"99"} 这 样的格式就不行了 试了好几种方式 ,都不行也不知道是不是ext 不支持json转化的联合主键 "id":{"code":"99","type":"99"} 格式 有了解的提示一下,非常感谢 找不到解决办法 头痛..... 哪位帮忙了 多谢 [b]问题补充:[/b] 用不了 多谢 哪位帮忙看看了
Ext.data.JsonStore加载数据时url中怎么带一个变量参数
我要做一个搜索框,根据搜索框中的内容筛选结果: this.searchPanel = new HT.SearchPanel({ height : 60, region : 'north', border : true, xtype : 'form', id : 'BackgroundPicDisplaySearchPanel', frame : true, items : [{ layout : 'column', columnWidth : 0.3, items : [{ layout : 'form', labelWidth : 40, columnWidth : .30, items : [{ xtype : 'textfield', fieldLabel : '名称', id : 'BackgroundPicDisplayName', anchor : '70%', listeners : { scope : this, specialkey : function(field, e) { // 监听enter键事件 if (e.getKey() == Ext.EventObject.ENTER) { this.onSearch(); } } } }] },{ layout : 'form', // labelWidth : 30, columnWidth : .07, items : [{ text : "查询", scope : this, iconCls : "btn-search", xtype : "button", handler : this.onSearch }] },{ layout : 'form', //labelWidth : 120, columnWidth : .10, items : [{ text : "清空", scope : this, iconCls : "btn-reset", xtype : "button", handler : this.reset }] }] }] }); var BackgroundPicDisplayName=Ext.getCmp('BackgroundPicDisplayName').getValue(); // 加载数据至store this.store = new Ext.data.JsonStore({ url : __ctxPath +"/commodity/commodityAction!listPic.do?BackgroundPicDisplayName="+BackgroundPicDisplayName, root : 'result', totalProperty : 'totalCounts', remoteSort : true, fields : ['picId', 'picName', 'picUrl'] }); store是这样写的,onSearch方法如下: onSearch : function() { // 验证表单 if (this.searchPanel.getForm().isValid()) { this.store.reload(); } } 可是后台接收到的BackgroundPicDisplayName值为undefined,如果将BackgroundPicDisplayName值写成一个固定的值如“aaa”就可以接收到,这样就没有搜索效果了,求大神解决
相见恨晚的超实用网站
相见恨晚的超实用网站 持续更新中。。。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它是一个过程,是一个不断累积、不断沉淀、不断总结、善于传达自己的个人见解以及乐于分享的过程。
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 free -m 其中:m表示兆,也可以用g,注意都要小写 Men:表示物理内存统计 total:表示物理内存总数(total=used+free) use...
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
python 简易微信实现(注册登录+数据库存储+聊天+GUI+文件传输)
socket+tkinter详解+简易微信实现 历经多天的努力,查阅了许多大佬的博客后终于实现了一个简易的微信O(∩_∩)O~~ 简易数据库的实现 使用pands+CSV实现数据库框架搭建 import socket import threading from pandas import * import pymysql import csv # 创建DataFrame对象 # 存储用户数据的表(...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发...
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 演示地点演示 html代码如下` music 这个年纪 七月的风 音乐 ` 然后就是css`*{ margin: 0; padding: 0; text-decoration: none; list-...
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。
数据库优化 - SQL优化
以实际SQL入手,带你一步一步走上SQL优化之路!
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...
通俗易懂地给女朋友讲:线程池的内部原理
餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小型人工智障。 知识可以运用在不同地方,不一定非是天气预报。
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹...
面试官:你连RESTful都不知道我怎么敢要你?
干货,2019 RESTful最贱实践
刷了几千道算法题,这些我私藏的刷题网站都在这里了!
遥想当年,机缘巧合入了 ACM 的坑,周边巨擘林立,从此过上了"天天被虐似死狗"的生活… 然而我是谁,我可是死狗中的战斗鸡,智力不够那刷题来凑,开始了夜以继日哼哧哼哧刷题的日子,从此"读题与提交齐飞, AC 与 WA 一色 ",我惊喜的发现被题虐既刺激又有快感,那一刻我泪流满面。这么好的事儿作为一个正直的人绝不能自己独享,经过激烈的颅内斗争,我决定把我私藏的十几个 T 的,阿不,十几个刷题网...
JavaScript 为什么能活到现在?
作者 | 司徒正美 责编 |郭芮 出品 | CSDN(ID:CSDNnews) JavaScript能发展到现在的程度已经经历不少的坎坷,早产带来的某些缺陷是永久性的,因此浏览器才有禁用JavaScript的选项。甚至在jQuery时代有人问出这样的问题,jQuery与JavaScript哪个快?在Babel.js出来之前,发明一门全新的语言代码代替JavaScript...
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
Nginx 原理和架构
Nginx 是一个免费的,开源的,高性能的 HTTP 服务器和反向代理,以及 IMAP / POP3 代理服务器。Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求,主要负责调度工作进程:加载配置、启动工作进程及非停升级。worker 进程负责处...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Python 编程开发 实用经验和技巧
Python是一门很灵活的语言,也有很多实用的方法,有时候实现一个功能可以用多种方法实现,我这里总结了一些常用的方法和技巧,包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等,会持续更新......
吐血推荐珍藏的Visual Studio Code插件
作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 下面我们进入正题 Material Theme ...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
开源并不是你认为的那些事
点击上方蓝字 关注我们开源之道导读所以 ————想要理清开源是什么?先要厘清开源不是什么,名正言顺是句中国的古代成语,概念本身的理解非常之重要。大部分生物多样性的起源,...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植
这篇文章要介绍的是: - 上方植物卡片栏的实现。 - 点击植物卡片,鼠标切换为植物图片。 - 鼠标移动时,判断当前在哪个方格中,并显示半透明的植物作为提示。
相关热词 c# 引用mysql c#动态加载非托管dll c# 两个表数据同步 c# 返回浮点json c# imap 链接状态 c# 漂亮字 c# 上取整 除法 c#substring c#中延时关闭 c#线段拖拉
立即提问