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日

相关文章

  • ASP.NET C#生成下拉列表树实现代码

    下面我将详细讲解“ASP.NET C#生成下拉列表树实现代码”的完整攻略。 1. 什么是下拉列表树? 下拉列表树,顾名思义就是下拉列表和树结构的结合体。通俗点说,就是在下拉列表的每一项展开后,可以看到类似树形结构的多级列表。下面是一个简单的下拉列表树的示例: – 第一项 + 子项 1 + 子项 2 – 第二项 + 子项 1 + 子项 2 2. 实现下拉列表树…

    C# 2023年5月31日
    00
  • C# MJPEG 客户端简单实现方法

    现在我将为你详细讲解“C# MJPEG 客户端简单实现方法”的完整攻略,包含以下内容: MJPEG 是什么 C# MJPEG 客户端库的选择 C# MJPEG 客户端实现步骤 两个示例说明 1. MJPEG 是什么 MJPEG 全称为 Motion JPEG,是一种针对视频图像内容的压缩技术,也是指基于该压缩技术的一种视频格式。MJPEG 格式存储的是逐帧的…

    C# 2023年6月7日
    00
  • C#实现字符串倒序的写法

    以下是“C#实现字符串倒序的写法”的完整攻略: 1. 使用内置函数 C#已经为字符串倒序提供了一个内置函数——Reverse(),可以直接操作字符数组,实现字符串倒序。下面是示例代码: using System; class Program { static void Main() { string str = "Hello, world!&quo…

    C# 2023年6月1日
    00
  • 如何在 .NET Core WebApi 中处理 MultipartFormDataContent 中的文件

    在上一篇文章(如何在 .NET Core WebApi 中处理 MultipartFormDataContent)中,我们有描述过如何以最简单的方式在 .NET Core WebApi 中处理 MultipartFormDataContent 。基于框架层面的封装,我们可以快速的从 Request.Form 中分别拿到文件内容和文本内容,但是这些默认的解析方…

    C# 2023年4月22日
    00
  • C#中的协变与逆变小结

    下面是“C#中的协变与逆变小结”的完整攻略: 什么是协变和逆变 协变和逆变是C#中的两个概念,它们都涉及到了类型转换。简单来说: 协变:表示在类型转换过程中,类型参数可以“向上转”,也就是说如果T1是T2的子类型,那么Func<T1>可以转换为Func<T2>。 逆变:表示在类型转换过程中,类型参数可以“向下转”,也就是说如果T1是T…

    C# 2023年5月14日
    00
  • ASP.NET 前台javascript与后台代码调用

    针对ASP.NET前台JavaScript与后台代码调用,有以下方法: WebMethod属性和AJAX WebMethod属性是ASP.NET Web服务中一种使得代码能够被JavaScript访问的方式。通过WebMethod属性我们可以将一个方法暴露给JavaScript环境。这是ASP.NET与JavaScript相集成的重要特性。 步骤如下: 在服…

    C# 2023年5月31日
    00
  • C#执行Javascript代码的几种方法总结

    C#执行JavaScript代码的几种方法总结 在C#代码中执行JavaScript代码是非常有用的操作,本文将介绍C#执行JavaScript代码的几种方法,以及各种方法的优缺点和应用场景。 方法一:WebBrowser控件 WebBrowser控件是一个基于IE内核的控件,可以解析和渲染HTML文档,同时支持JavaScript代码的执行。可以通过在C#…

    C# 2023年5月15日
    00
  • asp.net分页控件使用详解【附实例下载】

    ASP.NET分页控件使用详解 本文主要介绍ASP.NET中常用的分页控件——PagedDataSource的使用方法,以及如何通过该控件实现简单的分页操作。 PagedDataSource控件简介 PagedDataSource控件是ASP.NET中提供的一个数据分页控件,当数据量较大时,可使用该控件将数据分页显示,增强数据展示的可读性。 PagedDat…

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