zoukankan      html  css  js  c++  java
  • jsData 使用教程(七) 过滤数据

    jsData 的 GridView 控件并没有集成搜索的功能,因此要实现搜索功能,必须创建搜索条件输入框和按钮。如下图所示:

    服务端代码和前面介绍的基本一致,我们主要来看一下客户端代码,客户端代码如下:

    代码
    Sys.onReady(function() {

    var dataSource = new JData.WebServiceDataSource("../Services/NorthwindService.asmx", "GetOrders", "InsertOrder", 'UpdateOrder');
    dataSource.set_selector(
    "OrderID, OrderDate,RequiredDate, EmployeeID");

    var employees = new JData.WebServiceDataSource("../Services/NorthwindService.asmx", "GetEmployees");
    employees.set_selector(
    "FirstName + \" \" + LastName as Name, EmployeeID");
    employees.set_enableCache(
    true);

    var col1 = new JData.BoundField('OrderID', null, '120px', null, true);
    var col2 = new JData.DropDownListField('EmployeeID', null, '120px', null);
    col2.set_dataSource(employees);
    col2.set_displayMember(
    "Name");
    col2.set_valueMember(
    "EmployeeID");

    var col3 = new JData.DateTimeField('OrderDate', null, '120px', '112px');
    var col4 = new JData.DateTimeField('RequiredDate', null, '120px', '112px');
    var col5 = new JData.CommandField();
    col5.set_showInsertButton(
    true);
    col5.set_showCancleButton(
    true);
    col5.set_showEditButton(
    true);
    col5.get_itemStyle().set_width(
    '90px');

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

    $($get(
    'txtBegin')).datepicker({ showButtonPanel: true, duration: '', dateFormat: 'yy-mm-dd' });
    $($get(
    'txtEnd')).datepicker({ showButtonPanel: true, duration: '', dateFormat: 'yy-mm-dd' });
    $addHandler($get(
    'btnFilter'), 'click', function() {
    if ($get('txtBegin').value == '') {
    alert(
    'Please input the order begin date.');
    return;
    }
    if ($get('txtEnd').value == '') {
    alert(
    'Please input the order end date.');
    return;
    }
    dataSource.set_filter(String.format(
    'OrderDate.Value >= "{0}" && OrderDate.Value <= "{1}" ', $get('txtBegin').value, $get('txtEnd').value));
    gridView.dataBind();
    });
    });

    我们要关注的是这一小段:

    dataSource.set_filter(String.format('OrderDate.Value >= "{0}" && OrderDate.Value <= "{1}" ',
    $get('txtBegin').value, $get('txtEnd').value));
    gridView.dataBind();

    这一小段实现的功能就是对 dataSource 设置过滤过件,并重新进行绑定。相信对 Asp.Net 熟悉的朋友都能很好理解。不过要注意的是,使用日期类型的时候要将它转换为字符串。

    完整代码下载以及演示,请访问 http://www.jsdata.org

  • 相关阅读:
    squid代理
    日志、远程日志、日志轮询、DHCP
    环境变量、进程
    rpm、yum
    filesystem安装后产生所有目录
    vRO 添加已有磁盘到VM
    python笔记-8(线程,进程,协程,io多路复用)
    python笔记-7(面向对象、类、面向对象进阶、异常处理、断言、反射、网络(套接字)编程、)
    python3 封装
    python3 继承
  • 原文地址:https://www.cnblogs.com/ansiboy/p/1768001.html
Copyright © 2011-2022 走看看