为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

EXT赋值

2018-04-29 7页 doc 23KB 9阅读

用户头像

is_594905

暂无简介

举报
EXT赋值EXT赋值 要显示在textfiled中,就用setValue啊,从后台查询出来,赋给前台的各个控件。 比如这样 JScript code var folder_name=new Ext.form.TextField({ fieldLabel: 'Folder Name', //disabled:true, readOnly:true, width:200, name :'folder_name' }); var str_temp1=replaceTextarea({$name}); folder_na...
EXT赋值
EXT赋值 要显示在textfiled中,就用setValue啊,从后台查询出来,赋给前台的各个控件。 比如这样 JScript code var folder_name=new Ext.form.TextField({ fieldLabel: 'Folder Name', //disabled:true, readOnly:true, width:200, name :'folder_name' }); var str_temp1=replaceTextarea({$name}); folder_name.setValue(str_temp1); 后台生成的json客串格式:var vjson = {data:[{"控件name":"要赋的值"},{"控件name2":"要 赋的值2"}]} 假如:var form=new Ext.form.TextField(.......... var json = Ext.util.JSON.decode(vjson); form.getForm().loadRecord(json); 本文将向大家介绍一种使用 ExtJS 的 GridPanel 组件从 ASP.NET Web Service 获取 XML 数据并进行绑定和显示的方法。 本文将向大家介绍一种使用 ExtJS 的 GridPanel 组件从 ASP.NET Web Service 获取 XML 数据并进行绑定和显示的方法。 GridPanel 组件在进行数据绑定时可以接收多种数据格式。其中以 JSON 和 XML 最为常见。如果要给 GridPanel 绑定 JSON 格式的数据(这也是网上“通用” 和“热门”的解决方案),那么我们需要修改 Web Service 的 Web.config 设 置,将输出数据的格式改为 JSON(默认为 XML。设置方法可参见: 一文)。 个人认为此方法过于繁琐,为了保证对现有的 Web Service 不做较大的调整, 我决定还是继续让其返回 XML 格式的数据。因此在对 GridPanel 进行数据绑定 时就要选用 XML 方式绑定了。也就是说,我们在绑定数据时要使用 Ext.data.XmlReader 而不是 Ext.data.JsonReader。具体的实现方法如下: 1. Web Service 部分: GetAritcles 将返回一个 DataSet。其内包括两个 DataTable,第一个存放了(跟据 start 和 limit 参数指定的)当前页的数据,另一个存放了数据库中所有数据的行数,供客户端的 GridPanel 组件使用。客户端部分(节选): 从 Web Service 中由 GetArticles 方法返回的是 XML 数据。在将数据绑定到 Ext.data.Store 组件时应使用 Ext.data.XmlReader 而不是网上经常看到的 Ext.data.JsonReader。绑定时我们需要“告诉” XmlReader 在 XML 数据中哪些节点代数据条目(本例为“record”),哪个节点代表数据总数(本例为“totalRecords”),以及数据的主键节点 (本例为“Id”)。您可以通过下图来理解 XmlReader 的数据绑定过程: 另外,从上图中的 XML 数据可以看出,日期(Date)的格式比较“丑陋”,如果不加修饰的话将会原样显示于客户的 GridPanel 组件中。因此在客户端显示数据之前,需要对日期数据进行一下加工。在创建 Ext.grid.ColumnModel 时为 Date 列指定 renderer(注意加粗部分): {header:'日期',dataIndex:'Date',sortable:true,width:50, renderer: renderDate} 代码中的“renderDate”是一个 JavaScript 函数,定义如下: 此函数中的 value 参数即为原始的日期数据,由 Ext.grid.ColumnModel 传入。在函数中使用正则表达式分别提取日期数据中的“日期”和“时间”部分,拼接后返回。 整个程序执行后的运行界面如下图所示: jQuery Ajax 调用 WebService 返回数据表(DataTable)的方法。
后台的WebService代码: WebService.asmx 代码 <%@ WebService Language="C#" Class="WebService" %> using System; using System.Web; using System.Web.Services; using System.Web.Services.Protocols; using System.Web.Script.Serialization; using System.Collections; using System.Collections.Generic; using System.Data; [WebService(Namespace = ";)] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class WebService : System.Web.Services.WebService { [WebMethod] public String GetDataTable(int id) { System.Data.DataTable dt = new System.Data.DataTable(); System.Data.DataRow dr; dt.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32))); dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String))); dt.Columns.Add(new System.Data.DataColumn("Count", typeof(System.Double))); dt.Columns.Add(new System.Data.DataColumn("CreateDate", typeof(System.DateTime))); dt.PrimaryKey = new System.Data.DataColumn[] { dt.Columns["UserId"] }; System.Random rd = new System.Random(); for (int i = 0; i <6; i++) { dr = dt.NewRow(); dr[0] = i + i; dr[1] = "【孟子E章】" + id.ToString(); dr[2] = System.Math.Ceiling(rd.NextDouble() * 1000); dr[3] = DateTime.Now.AddDays(rd.Next(100) - rd.Next(100)); dt.Rows.Add(dr); } System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); List> rows = new List>(); Dictionary row = null; foreach (DataRow dr1 in dt.Rows) { row = new Dictionary(); foreach (DataColumn col in dt.Columns) { row.Add(col.ColumnName, dr1[col]); } rows.Add(row); } return serializer.Serialize(rows); } } 返回的显示结果: 【孟子E章】8888 2010年11月26日 11:04:16 0 939 【孟子E章】8888 2011年2月28日 11:04:16 2 485 【孟子E章】8888 2011年3月31日 11:04:16 4 708 【孟子E章】8888 2011年2月10日 11:04:16 6 77 【孟子E章】8888 2011年1月31日 11:04:16 8 967 【孟子E章】8888 2010年11月30日 11:04:16 10 869
/
本文档为【EXT赋值】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索