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


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

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

    jsData 的出现,就是为了解决这个问题,jsData 在设计上,就是尽可能避免 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://www.jsdata.org

  • 相关阅读:
    iOS的一些面试题分析总结(1)
    iOS的一些面试题分析总结(0)
    iOS页面间传值的一些方式总结
    自定义UIButton
    iOS查看3D效果的手势交互
    关于php得到参数数据
    ios安装ipa与安卓安装apk
    听说程序员想当就能当?
    W5100S、W5500、W5100差异对比
    annot read lifecycle mapping metadata for artifact org.apache.maven.plugins:maven-clean-plugin:maven
  • 原文地址:https://www.cnblogs.com/ansiboy/p/1766028.html
Copyright © 2020-2023  润新知