extjs DataReader、JsonReader、XmlReader的构造方法

ExtJS提供了三种数据读取器(DataReader):JsonReader、XmlReader、ArrayReader。其中JsonReader与XmlReader是最常用的两种,它们可以将Json和Xml数据解析成ExtJS中的数据集合(store).

DataReader是一种工具,用于将来自服务器的响应数据解析成更易于在ExtJS中使用的格式。各个类型的数据读取器,其构造方法参数不完全相同。下面分别介绍三种数据读取器的构造方法。

JsonReader

构造方法

Ext.create('Ext.data.JsonReader', {
    type: 'json',   // 告知reader,传入的数据是json格式的
    rootProperty: 'users',   // 定义json数据位置
    fields: ['name', 'email']   // 表示数据列
});

JsonReader是将Json数据转换成ExtJS可以使用的数据格式。构造方法参数说明:

  • type:数据类型,此处为json

  • rootProperty:从响应数据中读取数据的根属性名称,例如取下面这个例子的users属性;

  • fields:列的定义,定义了从服务器传回的json数据数组中要读取的列名和ExtJS store定义时的数据列名字一一对应。

接下来看一个实际例子:

Ext.create('Ext.data.JsonReader', {
    type: 'json',
    rootProperty: 'users',
    fields: ['name', 'age', 'email']
});

// 假设后端传回的Json响应数据格式如下:
{
    "total": 2,
    "users": [{
            "name": "Tom",
            "age": "18",
            "email": "tom@example.com"
        },
        {
            "name": "Jerry",
            "age": "20",
            "email": "jerry@example.com"
        }
    ]
}

XmlReader

构造方法

Ext.create('Ext.data.XmlReader', {
    type: 'xml',  // 告知reader,传入的数据是xml格式的
    record: 'book',   // 定义数据集合位置
    fields: [   // 定义读取的数据列
        {
            name: 'id',
            mapping: 'book > id'
        }, {
            name: 'title',
            mapping: 'book > title'
        }, {
            name: 'author',
            mapping: 'author'
        }
    ]
});

XmlReader是将Xml数据转换成ExtJS可以使用的数据格式。构造方法参数说明:

  • type:数据类型,此处为xml

  • record:从响应数据中读取数据的根节点,例如取下面这个例子的book节点;

  • fields:列的定义,通过name定义将会在ExtJS store定义时使用的列名字,mapping定义用于从服务器传回的xml数据中读取数据的XPATH。

接下来看一个实际例子:

Ext.create('Ext.data.XmlReader', {
    type: 'xml',
    record: 'book',
    fields: [
        {
            name: 'id',
            mapping: 'book > id'
        }, {
            name: 'title',
            mapping: 'book > title'
        }, {
            name: 'author',
            mapping: 'author'
        }
    ]
});

// 后端传回的Xml响应数据如下:
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <book>
        <id>1</id>
        <title>ExtJS入门教程</title>
        <author>张三</author>
    </book>
    <book>
        <id>2</id>
        <title>ExtJS高级教程</title>
        <author>李四</author>
    </book>
</root>

DataReader

除了JsonReader和XmlReader,ExtJS还提供了一个更灵活的DataReader类型,可以在处理更为特殊的数据源时使用。ArrayReader继承于DataReader,它可以将数组类型的数据转换成数据集合。

构造方法

Ext.create('Ext.data.ArrayReader', {
    fields: ['name', 'email']
});

ArrayReader的构造方法参数比较简单,只有一个fields参数。fields表示要读取的数据列名,每个数据列使用一个字符串表示。

接下来看一个实际例子:

Ext.create('Ext.data.ArrayReader', {
    fields: ['name', 'email']
});

// 假设后端传回的数据格式如下:
[
    ["John", "john@example.com"],
    ["Smith", "smith@example.com"]
]

以上是ExtJS三种数据读取器的构造方法的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:extjs DataReader、JsonReader、XmlReader的构造方法 - Python技术站

(0)
上一篇 2023年6月1日
下一篇 2023年6月1日

相关文章

  • 在Unity中实现动画的正反播放代码

    下面是在Unity中实现动画的正反播放代码的完整攻略。 1. 实现动画正播放 要在Unity中实现动画的正播放,首先需要将动画文件添加到项目中。可以通过在“Project”窗口中右键单击,选择“Import New Asset”选项,然后选择要添加的动画文件。 接下来,在场景中选择要添加动画的对象,然后拖动动画文件到对象的“Animator”组件上。此时,可…

    C# 2023年6月3日
    00
  • .net6 在中标麒麟下的安装

    尝试了下.net6在信创环境下的安装和部署 信创服务器,CPU:ARM64,操作系统:中标麒麟 v10,网络环境:政务网(无法连接外网) 1、下载 .net 6 SDK 6.0.408 Arm64二进制文件。https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0 2、在服务器/home目录下创建两个新目录…

    C# 2023年4月22日
    00
  • C#实现图形位置组合转换的方法

    C#实现图形位置组合转换的方法 在C#中,通过使用矩阵转换可以实现图形位置组合的转换。该方法包含两个部分:矩阵的生成和矩阵的应用。 矩阵的生成 通过创建Matrix类实例来生成矩阵,可以调用它的一些方法来定义矩阵,如平移、旋转和缩放等。以下是几个常用的矩阵生成方法: 平移矩阵 平移矩阵可以将图形向上或向下、向左或向右移动。可以使用Matrix类的Transl…

    C# 2023年6月8日
    00
  • ASP.NET MVC中两个配置文件的作用详解

    ASP.NET MVC中两个配置文件的作用详解 在ASP.NET MVC中,有两个配置文件:Web.config和App.config。这两个文件都包含了应用程序的配置信息,但是它们的作用和使用方式有所不同。本攻略将详细讲解这两个配置文件的作用和使用方法。 Web.config Web.config是ASP.NET应用程序的主配置文件,它包含了应用程序的所有…

    C# 2023年5月17日
    00
  • C#、vb.net及SQL判断指定年份是否为闰年的方法

    C#、VB.NET和SQL都支持判断指定年份是否为闰年的方法,下面是具体的攻略。 C#实现闰年判断 C#中实现闰年判断的方法是使用DateTime.IsLeapYear静态方法。具体实现如下: int year = 2020; if(DateTime.IsLeapYear(year)) { Console.WriteLine("{0} is a l…

    C# 2023年6月1日
    00
  • asp.net core常见的4种数据加密算法

    ASP.NET Core常见的4种数据加密算法 在ASP.NET Core中,为了保证敏感信息的安全性,常常需要使用加密算法进行数据加密。因此,本文将介绍ASP.NET Core常见的4种数据加密算法,并给出相应的示例说明。 1. AES算法 AES即高级加密标准算法(Advanced Encryption Standard),是公认的最安全的加密算法之一。…

    C# 2023年6月3日
    00
  • C#实现强制关闭当前程序进程

    下面我将详细讲解一下“C#实现强制关闭当前程序进程”的完整攻略。 方案一:使用Process.Kill方法 可以使用Process.Kill()方法来强制关闭指定进程。需要先获取要关闭的进程的Process实例。示例代码如下: Process curProcess = Process.GetCurrentProcess(); // 获取当前进程 curPro…

    C# 2023年6月6日
    00
  • asp最简单的生成验证码代码

    生成验证码是一种常见的验证身份与防止恶意攻击的方法。在ASP上生成验证码可以用一些现成的工具或者自己编写代码实现。下面是ASP最简单的生成验证码代码及其攻略,包含了两条示例说明: 生成验证码的原理 生成验证码有一个基本的原理,就是将一段字符随机渲染到图像上,然后用户需要通过输入图像上的字符来证明他们是人类而不是机器。根据这个原理,我们可以使用ASP内置的组件…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部