110,548
社区成员
发帖
与我相关
我的任务
分享
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);
}
}
现在把所有数据存到集合里面了.有点像8楼的意思
比如我PageSize=1//每页显示一条
CurrentPage=0//当前页数
我可以这样: source.Load(rlt.Take(PageSize));//这样就是指定每页显示一条,并绑定
当我选择下一条的时候:
if (CurrentPage<(RecordCount-1 ))
CurrentPage++;
bindingSource.DataSource = (rlt.Take(CurrentPage * PageSize)).SkipWhile((x, i) => i < CurrentPage); //先是用Take指定显示的项数然后SkipWhile跳过满足指定条件的元素,当我选择下一页是第二页时
SkipWhile(x,i)->i<CurrentPage,此时的CuttentPage是2,等于就跳过了1,只显示第二条数据并重新绑定.
结果有点不对,逻辑有点乱了.望大虾们给点思路.我现在有点乱了.一时没理清.谢谢,提意见就是最好的答案,不一定要代码
谢谢