|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!asp.net|datagrid|分页|技能只是办理DataGridview革新慢的举措。
假如要思索效力,仍是分离分页的"存储历程"对照好,只是变通了一下。
1#region数据处置
2///<summary>
3///失掉期初数据
4///</summary>
5privatevoidgetFillDateset()
6{
7try
8{
9//每页显现数
10pageSize=10;
11//失掉最年夜纪录数
12maxRec=dtSource.Rows.Count;
13//共有几页
14pageCount=(maxRec/pageSize);
15//取余数
16if((maxRec%pageSize)>0)
17{
18pageCount++;
19}
20//默许第一页
21currentPage=1;
22recNo=0;
23LoadPage();
24}
25catch
26{
27}
28}
29
30
31///<summary>
32///判别是不是数据已加载
33///</summary>
34///<returns></returns>
35privateboolCheckFillButton()
36{
37if(pageSize==0)returnfalse;
38elsereturntrue;
39}
40
41///<summary>
42///取DataTable的数据
43///</summary>
44privatevoidLoadPage()
45{
46intstartRec;
47intendRec;
48DataTabledtTemp;
49
50
51dtTemp=dtSource.Clone();
52if(currentPage==pageCount)endRec=maxRec;
53elseendRec=pageSize*currentPage;
54startRec=recNo;
55for(inti=startRec;i<endRec;i++)
56{
57dtTemp.ImportRow(dtSource.Rows[i]);
58recNo++;
59}
60this.dataGridView1.DataSource=dtTemp;
61}
62
63///<summary>
64///分页事务(取各个按键的Tag值)
65///</summary>
66///<paramname="sender"></param>
67///<paramname="e"></param>
68privatevoidchangepage(objectsender,EventArgse)
69{
70if(!CheckFillButton())return;
71intmyint=Convert.ToInt16((string)(senderasButton).Tag);
72switch(myint)
73{
74case1:
75if(currentPage==1)
76{
77MessageBox.Show("Thefristpagenow!");
78return;
79
80}
81currentPage=1;
82recNo=0;
83LoadPage();
84break;
85case2:
86currentPage++;
87if(currentPage>pageCount)
88{
89currentPage=pageCount;
90if(recNo==maxRec)
91{
92MessageBox.Show("Thelastpagenow!");
93return;
94}
95else
96recNo=pageSize*(currentPage+1);
97}
98LoadPage();
99break;
100case3:
101if(currentPage==pageCount)
102recNo=pageSize*(currentPage-2);
103currentPage--;
104if(currentPage<1)
105{
106MessageBox.Show("Thefristpagenow!");
107currentPage=1;
108return;
109}
110else
111recNo=pageSize*(currentPage-1);
112
113LoadPage();
114break;
115
116case4:
117if(!CheckFillButton())return;
118if(recNo==maxRec)
119{
120MessageBox.Show("TheLastpagenow!");
121return;
122}
123currentPage=pageCount;
124recNo=pageSize*(currentPage-1);
125LoadPage();
126break;
127}
128
129}
130
131#endregion
实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。 |
|