服务端分页 - WCF RIA Services 代码

///////////////////////////////////////////////////////////////////////////

///



/// 服务端代码



///



using System.Threading;





    // 使用 Model1Container 上下文实现应用程序逻辑。

    // TODO: 将应用程序逻辑添加到这些方法中或其他方法中。

    // TODO: 连接身份验证(Windows/ASP.NET Forms)并取消注释以下内容,以禁用匿名访问

    //还可考虑添加角色,以根据需要限制访问。

    // [RequiresAuthentication]

    [EnableClientAccess()]

    public class madamingDomainService : LinqToEntitiesDomainService<Model1Container>

    {





   [Invoke]

        public int get_实体1集_页数(int page_size) 

        {

            return this.ObjectContext.实体1集.Count ();/// page_size;

        }



        public IQueryable<实体1> Get实体1集分页(int page_size,int page_index)

        {

            return this.ObjectContext.实体1集.OrderBy (s=>s.ID ).Skip (page_index *page_size ).Take (page_size );

        }

}

 
///////////////////////////////////////////////////////
///

///  客户端代码

///





 private void get_实体1集_页数_completed(InvokeOperation <int> sender)

        {

            if (!sender.HasError) 

            {

                List<int> listData = new List<int>();//声明一个集合用于 PagedCollectionView的绑定



                for (int i = 0; i < sender.Value ; i++)

                    listData.Add(i);



                 PagedCollectionView pageData = new PagedCollectionView(listData);



                datapager_大数据 .Source = pageData;

                datapager_大数据.PageSize=10; 



            }

        }

        private void BindPage()

        {

            _madaming_domain_context.get_实体1集_页数(10, get_实体1集_页数_completed, null);

        }



         private void BindData(int pageIndex)

         {

             _madaming_domain_context.Load<实体1>(_madaming_domain_context.Get实体1集分页Query(datapager_大数据 .PageSize ,pageIndex), Get实体1集分页_completed, null);

    



        }



/////////////////////////////////////////

        public MainPage()

        {

            InitializeComponent();



            BindPage(); 

        }





        private void datapager_大数据_PageIndexChanged(object sender, EventArgs e)

        {

            BindData(  datapager_大数据 .PageIndex);



        }










 

 
  

 


你可能感兴趣的:(service)