private void DataLoad()
        {
            DataCollection<TransOrderFullSDO> source = this.Input;
            try
            {
                DataCollection<TransOrderFullSDO> rlt = this.getProxy().FindFullAll();
                if ((source == null))
                {
                    CurrentPage = 0;
                    LG.Cache.CorpCache.PageIndex = 0;
                    RecordCount = rlt.Count;
                    if (RecordCount % PageSize == 0)
                    {
                        PageCount = RecordCount / PageSize;
                    }
                    else
                        PageCount = RecordCount / PageSize + 1;                    TotalLbl.Text = RecordCount.ToString();
                    LG.Cache.CorpCache.PageCount = PageCount.ToString();
                    this.btnPrevious.Enabled = true;
                    if (CurrentPage == (PageCount - 1))
                        this.btnNext.Enabled = false;
                    if (CurrentPage == 0)
                        this.btnPrevious.Enabled = false;
                    this.CurrentLbl.Text = (CurrentPage + 1).ToString();                    bindingSource.DataSource = rlt;                    PageSize = 2;
                }
                else
                {
                    CurrentPage = 0;
                    LG.Cache.CorpCache.PageIndex = 0;//页索引
                    RecordCount = rlt.Count; //总页数
                    PageSize = 2;//每页条数
                    if (RecordCount % PageSize == 0)
                    {
                        PageCount = RecordCount / PageSize;
                    }
                    else
                        PageCount = RecordCount / PageSize + 1;                    TotalLbl.Text = PageCount.ToString();
                    LG.Cache.CorpCache.PageCount = PageCount.ToString();
                    this.btnPrevious.Enabled = true;
                    if (CurrentPage == (PageCount - 1))
                        this.btnNext.Enabled = false;
                    if (CurrentPage == 0)
                        this.btnPrevious.Enabled = false;
                    this.CurrentLbl.Text = (CurrentPage + 1).ToString();
                    //rlt就是从数据库查询出来的一个集合,绑定到DataGride的
                    source.Load(rlt);
                   
                }
                if ((OnDataLoad != null))
                {
                    this.OnDataLoad(this, new E2ETEventArgs<DataCollection<TransOrderFullSDO>>(rlt));
                }
                MessageBox.Show(S_LOADED);
            }
            catch (E2EException ex)
            {
                MessageBox.Show(ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }上面是我加载DataGride的方法,就是绑定DataGride的数据.
rlt就是从数据库查询出来的一个集合,绑定到DataGride的,想问的问题是怎么给DataGride设置每页显示的页数,好像没有PageSize属性.知道的大虾们报一下.感激不尽.解决立马解贴.谢谢

解决方案 »

  1.   

    你这个太麻烦   建议你创建一个分页的对象  每次对那个对象的属性值进行操作!! public class PageCount
    {
    private int allcount=0;//总共多少行数据
    private int page=0 ;//当前显示 的 页数
    private int showCount=5;//每页显示多少行
    private int maxCount=0;//总共 要 显示到的 行数
          每次将这个数据存储到Session中再取出来
      

  2.   

    DataGrid1.AllowCustomPaging=true;
    或者  DataGrid1.AllowPaging=true;  你加上试试!!
      

  3.   

    大哥些,是WinForm,不是WebForm.问题已经解决了.  source.Load(rlt.Take(PageSize));//在加载时,用Take来返回指定要加载的数据,这里是每页显示的条数//分页的时候:
     private void FirstButton_Click(object sender, EventArgs e)
            {
                if (TotalLbl.Text == "1")
                {
                    btnLast.Enabled = false;
                }
                else
                {
                    btnLast.Enabled = true;
                }
                CurrentPage = LG.Cache.CorpCache.PageIndex;
                PageCount = int.Parse(LG.Cache.CorpCache.PageCount);
                CurrentPage = 0;
                source.Load(rlt.Take(PageSize));
                bindingSource.DataSource = (rlt.Skip((CurrentPage) * PageSize)).Take(PageSize);
                this.CurrentLbl.Text = (CurrentPage + 1).ToString();
                LG.Cache.CorpCache.PageIndex = CurrentPage;
            }        private void btnPrevious_Click(object sender, EventArgs e)
            {
                CurrentPage = LG.Cache.CorpCache.PageIndex;
                PageCount = int.Parse(LG.Cache.CorpCache.PageCount);
                if (CurrentPage > 0)
                    CurrentPage--;
                source.Load(rlt.Take(PageSize));
                this.CurrentLbl.Text = (CurrentPage + 1).ToString();
                bindingSource.DataSource = (rlt.Skip((CurrentPage) * PageSize)).Take(PageSize); 
                LG.Cache.CorpCache.PageIndex = CurrentPage;
            }        private void btnNext_Click(object sender, EventArgs e)
            {
               // CurrentPage = LG.Cache.CorpCache.PageIndex;
                PageCount = int.Parse(LG.Cache.CorpCache.PageCount);            if (CurrentPage<(RecordCount-1 ))
                    CurrentPage++;
                source.Load(rlt.Take(PageSize));
                this.CurrentLbl.Text = (CurrentPage + 1).ToString();
                //bindingSource.DataSource = (rlt.Take(CurrentPage * PageSize)).SkipWhile((x, i) => i < CurrentPage); 
                bindingSource.DataSource = (rlt.Skip((CurrentPage) * PageSize)).Take(PageSize); 
                LG.Cache.CorpCache.PageIndex = CurrentPage;
                btnPrevious.Enabled = true;
               
            }        private void btnLast_Click(object sender, EventArgs e)
            {
                CurrentPage = LG.Cache.CorpCache.PageIndex;
                PageCount = int.Parse(LG.Cache.CorpCache.PageCount);
                CurrentPage = PageCount - 1;
                this.CurrentLbl.Text = (CurrentPage + 1).ToString();
                source.Load(rlt.Take(PageSize));
                bindingSource.DataSource = (rlt.Skip((CurrentPage) * PageSize)).Take(PageSize);
                LG.Cache.CorpCache.PageIndex = CurrentPage;        }