zoukankan      html  css  js  c++  java
  • silverlight + wcf(json格式) + sqlserver存储过程分页

    silverlight并没有提供现成的分页控件,百度了一圈,也没有发现aspx中好用的类似AspNetPager成熟控件,网上现有的一些分页代码,很多也是基于1.0版本的,silverlight2.0的并不多,自个儿琢磨了一下,发现自己弄一个也并非难事,思路和主要代码分享如下:

    1.通用的“海量”数据分页存储过程
    在做aspx开发时我已经用存储过程分页多年,这个东东是通用的(不管前端用什么语言来做),而且性能也不错,所以这里就直接套过来用了,百度一下"分页存储过程"会有N多版本,这里也给出我自己写的一个版本(仅适用于sqlserver 2005及以上版本)

    分页存储过程

      

    Code

    注:第二个是直接在第一个基础上简化得来的,仅返回总页数和总记录数;方便某些不需要返回实体数据,仅需要知道总页数和总记录数的特殊情况调用

    2.利用wcf直接或间接调用存储过程,返回json数据

    wcf能返回json数据已经不是什么新鲜事儿了,这里就不多说了,贴出主要代码(直接拿我以前封装好的工具库中的一个方法示例一下,大家知道意思就可以了) 

    Code

     其中有二个方法GetStream和GetJsonData,主要用于将字符串转换为流,以及将格式化Json字符串 

    Code

    3.前面二步弄完了,基本上就可以动手写silverlight代码了

    xaml前端文件:

    Code

    讲解一下:用Grid布局,先分上下二行,第一行放一个DataGrid控件(silverlight2新增的控件!),第二行分二列,左列显示统计信息,右列显示翻页按钮 

    后端cs代码: 

    Code

    主要思路:
    定义一组变量变于保存查询参数(包括当前第几页,每页多少条记录之类),然后利用WebClient访问wcf,将json数据download回来,成功后解析为json对象,再转化为强类型的List<Data>,最后绑定完事

    运行效果图:

    作者:菩提树下的杨过
    出处:http://yjmyzz.cnblogs.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    9月16日 星期二 晴
    谁能联系到小爱
    初学者请教Reporting Service达人,小女给能够进来看一眼的好心人抱拳一拜
    9月19日 多云
    iPhone开发教程之Core Data 常见问题的总结
    移动终端开发必备知识
    Core Data 教程(3): 入门指南
    【转载】APK反破解之四:Android代码动态加载技术
    REST是什么
    (转载)设计师必备工具推荐(上)【译】
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1401622.html
Copyright © 2011-2022 走看看