• JData 使用教程


    JData 使用教程(-) 加载数据

    JData 是一个采用 JavaScript 编写的数据组件类库,目标是将 Asp.net 中的 GridView,DetailsView,FormView 移植到 JavaScript 中来,并在原有功能的基础上进行扩展,它是为 Asp.net 开发人员而设计。
    其中 JData.js 文件是用来实现 Asp.Net 中的 GridView,DetailsView, FromView,(FromView 尚未完成),它是基本于 MS AJAX,在使用中需要引用 MS AJAX 。
    JData.DateTimeField.js,JData.GroupColumn.js …… 等文件是用于对原有的功能进行扩展,部份类库需要引用到 JQuery,以及 JQuery UI,具体请查看该文件中的注释以及相关的实例。
    使用授权:GPL 以及 MS-PL 协议
    功能特性:
    1、API 与 Asp.net 中的数据组件极为接近,并且具有完整的代码感应(需 VS2008 或更高版本 ),无需要记忆类库中的 API 。
    2、对于简单的增删改功能,无需编写服务端代码。
    3、支持强类型的 JavaScript 类型,避免书写中出现错误。
    说明: JData 的服务端是采用 ALinq 来处理数据,当然,你了也可以改写为 Linq to SQL,或其它第三方 ORM。
    示例下载:Demo
    代码仅供演示,在实际使用中,请务必控制权限。

    JData 是款采用 Javascript 编写的数据组件,目的是将 ASP.NET 中的 GridView,DetailsView,FormView 移植到浏览客户端中来,并且扩展原有的功能。

    使用授权:GPL 以及 MS-PL 双重授权。

    演示:http://jdata.alinq.org

    我们首先来实现一个最简单的 Grid 数据显示。

    服务端代码:

    新建一 dll 项目,并引用 JData.Services,然后生成下面的代码。

    代码
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo
    = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(
    false)]
    public partial class NorthwindServiceBase : DataContextService<NorthwindDatabase>
    {
    [WebMethod]
    public virtual QueryResult GetOrders(int skip, int take, string sorting, string filter, string selector,
    bool retrieveTotalRowCount, int totalRowCount)
    {
    return base.Query<Order>(skip, take, sorting, filter, selector, retrieveTotalRowCount, totalRowCount);
    }
    }

    客户端代码:

    Sys.onReady(function() {

    var dataSource = new JData.WebServiceDataSource("../Services/NorthwindService.asmx", "GetOrders");
    dataSource.set_selector(
    "OrderID, Employee.FirstName + \" \" + Employee.LastName as Employee, OrderDate,RequiredDate");
    var col1 = new JData.BoundField('OrderID', null, '120px');
    var col2 = new JData.BoundField('Employee', null, '120px');
    var col3 = new JData.BoundField('OrderDate', null, '220px');
    var col4 = new JData.BoundField('RequiredDate', null, '220px');

    var gridView = new JData.GridView($get('gridView'));
    gridView.set_dataSource(dataSource);
    gridView.set_columns([col1, col2, col3, col4]);
    gridView.set_allowPaging(
    true);
    gridView.set_pageSize(
    15);
    gridView.set_caption(
    'Load Data');
    JData.JQueryUIStyle(gridView);
    gridView.initialize();

    });

    代码很简单,首先创建一个人 dataSource,接着创建一个 gridView 控件,执行  gridView.initialize() 语句后,便会对 gridView 进行初始化,并绑定数据。 JData.JQueryUIStyle(gridView) 语句是用来设置 gridView 的样式。

    相关代码请到 htpp://jdata.alinq.org 下载。

    JData 使用教程(二) 对显示的数据进行格式化

    JData 是否又是一个车轮?相信有不少朋友可能会有这样的疑问,在这里,我给大家解释一下。

    事实上,本人最讨厌的事情就是重新发明车轮。本人也用过不少 Grid 控件,包括 ExtJS,JqGrid,FlexiGird 等一大堆控件,抛开性能,费用这些不说。这些类库最大的问题的就太过于JSON 化,由于大量地使用了JSON 对象来传递参数,使得VisualStudio代码感应根本没有用武之地,在开发的过程中,开发人员不得不经常查看文档中的 API 。而为了克服这个问题,有人提出了用 C# 写 javascript ,或者封装成服务端组件,然后在运行时生成 Javascript ,这些方法我都试过,带来的性能开销不说,封装过的类库,最起码在功能上就打了一个折扣, 很多地方又不得不写那些令人发狂,夹杂着大量 JSON 对象的 javascript 代码 。

    JData 的出现,就是为了解决这个问题,JData 在设计上,就是尽可能避免 JSON 对象的使用,给开发人员提供一个完整的代码提示,减少开发人必须记住大量 API 的痛苦,极力避免因拼写造成的错误。当然,JData 这个项目并不打算成为象 Ext 之类的大而全的项目,而仅仅是专注于数据处理,为使用 GridView,DetailsView,FormView 等数据组件 的 ASP.NET 的开发人员,提供多一种选择。

    下面继续我们的教程,来给大家介绍如何格式化所 Grid 中所呈现的数据。

    如图所示的 OrderDate,RequiredDate 字段是经过格式化的了。代码如下:

    Sys.onReady(function() {

    var dataSource = new JData.WebServiceDataSource("../Services/NorthwindService.asmx", "GetOrders");
    dataSource.set_selector(
    "OrderID, Employee.FirstName + \" \" + Employee.LastName as Employee, OrderDate,RequiredDate");
    var col1 = new JData.BoundField('OrderID', null, '120px', null, true);
    var col2 = new JData.BoundField('Employee', null, '120px', null, true);
    var col3 = new JData.BoundField('OrderDate', null, '120px');
    var col4 = new JData.BoundField('RequiredDate', null, '120px');

    col3.formatValue
    = formatDateValue;
    col4.formatValue
    = formatDateValue;

    var gridView = new JData.GridView($get('gridView'));
    gridView.set_caption(
    'Format Column Value');
    gridView.set_dataSource(dataSource);
    gridView.set_columns([col1, col2, col3, col4]);
    gridView.set_allowPaging(
    true);
    JData.JQueryUIStyle(gridView);
    gridView.initialize();
    });

    function formatDateValue(value) {
    return value.toDateString();
    }

    代码很简单,就是通过重写column 中 formatValue 方法来实现的,这个方法就是将某种数据类型的数据换成字符串。

    具体请参考 Demo 中 FormatValue.htm 文件中的代码。

    演示及代码下载:http://jdata.alinq.org

  • 相关阅读:
    ASP.NET MVC5中的Model验证
    MVC方式显示数据(数据库)
    MVC方式显示数据(手动添加数据)
    EF数据Linq方式查询
    c# MVC方式文件上传
    调用BAPI创建病患主数据时的问题汇总[BAPI_PATIENT_CREATE]
    [代码]如何上载图片到SAP数据库并显示
    [代码]读取物料BOM行项目长文本[READ_TEXT]
    [问题解决]更新订单BOM中的Qty Var-Sz Item字段失败
    [代码]如何在ALV头中显示Logo图片-[REUSE_ALV_GRID_DISPLAY]
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/1766039.html
Copyright © 2020-2023  润新知