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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    实现简易赈灾物资发放登记系统---练习
    数据访问-----ADO.NET 练习2
    数据访问-----ADO.NET 练习1
    面向对象(3)继承
    面向对象(2)
    面向对象(1)
    JavaScript 内容串联 ---Document---四、五和正则表达式。
    JavaScript 内容串联 ---Document
    document--操作相关元素(js简短汇总3)
    js--document对象操作内容(js简短汇总2)
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/1401622.html
Copyright © 2011-2022 走看看