Skip to content
切换导航条
切换导航条
当前项目
正在载入...
登录
刘韬
/
HZH_Controls
转到一个项目
切换导航栏
切换导航栏固定状态
项目
群组
代码片段
帮助
项目
活动
版本库
流水线
图表
问题
0
合并请求
0
维基
网络
创建新的问题
作业
提交
问题看板
文件
提交
网络
比较
分支
标签
Commit 5a4fe92a
由
HZH
编写于
2019-08-15 16:43:09 +0800
浏览文件
选项
浏览文件
标签
下载
电子邮件补丁
差异文件
修改分页控件算法
1 个父辈
eeada1a9
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
72 行增加
和
19 行删除
HZH_Controls/HZH_Controls/Controls/List/UCPagerControl2.Designer.cs
HZH_Controls/HZH_Controls/Controls/List/UCPagerControl2.cs
HZH_Controls/Test/Form1.cs
HZH_Controls/HZH_Controls/Controls/List/UCPagerControl2.Designer.cs
查看文件 @
5a4fe92
此文件的差异被折叠,
点击展开。
HZH_Controls/HZH_Controls/Controls/List/UCPagerControl2.cs
查看文件 @
5a4fe92
...
...
@@ -65,6 +65,8 @@ namespace HZH_Controls.Controls.List
public
override
void
FirstPage
()
{
if
(
PageIndex
==
1
)
return
;
PageIndex
=
1
;
StartIndex
=
(
PageIndex
-
1
)
*
PageSize
;
ReloadPage
();
...
...
@@ -77,7 +79,12 @@ namespace HZH_Controls.Controls.List
public
override
void
PreviousPage
()
{
if
(
PageIndex
<=
1
)
{
return
;
}
PageIndex
--;
StartIndex
=
(
PageIndex
-
1
)
*
PageSize
;
ReloadPage
();
var
s
=
GetCurrentSource
();
...
...
@@ -89,6 +96,10 @@ namespace HZH_Controls.Controls.List
public
override
void
NextPage
()
{
if
(
PageIndex
>=
PageCount
)
{
return
;
}
PageIndex
++;
StartIndex
=
(
PageIndex
-
1
)
*
PageSize
;
ReloadPage
();
...
...
@@ -101,6 +112,8 @@ namespace HZH_Controls.Controls.List
public
override
void
EndPage
()
{
if
(
PageIndex
==
PageCount
)
return
;
PageIndex
=
PageCount
;
StartIndex
=
(
PageIndex
-
1
)
*
PageSize
;
ReloadPage
();
...
...
@@ -128,35 +141,66 @@ namespace HZH_Controls.Controls.List
{
ControlHelper
.
FreezeControl
(
tableLayoutPanel1
,
true
);
List
<
int
>
lst
=
new
List
<
int
>();
if
(
PageCount
>
0
)
if
(
PageCount
<=
9
)
{
for
(
var
i
=
1
;
i
<=
PageCount
;
i
++)
{
lst
.
Add
(
i
);
}
}
else
{
if
(
PageCount
<=
7
)
if
(
this
.
PageIndex
<=
6
)
{
for
(
var
i
=
1
;
i
<=
7
;
i
++)
{
lst
.
Add
(
i
);
}
lst
.
Add
(-
1
);
lst
.
Add
(
PageCount
);
}
else
if
(
this
.
PageIndex
>
PageCount
-
6
)
{
for
(
int
i
=
0
;
i
<
PageCount
;
i
++)
lst
.
Add
(
1
);
lst
.
Add
(-
1
);
for
(
var
i
=
PageCount
-
6
;
i
<=
PageCount
;
i
++)
{
lst
.
Add
(
i
+
1
);
lst
.
Add
(
i
);
}
}
else
{
int
start
=
PageIndex
;
//开始按钮数字
int
end
=
1
;
//结束按钮数字
int
pageCount
=
PageCount
;
//总页数
int
offset
=
3
;
//偏移量
start
-=
offset
;
//计算左偏移量
start
=
start
<
1
?
1
:
start
;
//限定最小页码
end
=
start
+
7
-
1
;
//根据偏移计算结束按钮
end
=
end
>
pageCount
?
pageCount
:
end
;
//限定最大页码
start
=
end
-
7
+
1
;
//根据偏移计算开始页码
start
=
start
<
1
?
1
:
start
;
//限定最小页码
for
(
int
i
=
start
;
i
<=
end
;
i
++)
lst
.
Add
(
1
);
lst
.
Add
(-
1
);
var
begin
=
PageIndex
-
2
;
var
end
=
PageIndex
+
2
;
if
(
end
>
PageCount
)
{
end
=
PageCount
;
begin
=
end
-
4
;
if
(
PageIndex
-
begin
<
2
)
{
begin
=
begin
-
1
;
}
}
else
if
(
end
+
1
==
PageCount
)
{
end
=
PageCount
;
}
for
(
var
i
=
begin
;
i
<=
end
;
i
++)
{
lst
.
Add
(
i
);
}
if
(
end
!=
PageCount
)
{
lst
.
Add
(-
1
);
lst
.
Add
(
PageCount
);
}
}
}
for
(
int
i
=
0
;
i
<
7
;
i
++)
for
(
int
i
=
0
;
i
<
9
;
i
++)
{
UCBtnExt
c
=
(
UCBtnExt
)
this
.
tableLayoutPanel1
.
Controls
.
Find
(
"p"
+
(
i
+
1
),
false
)[
0
];
if
(
i
>=
lst
.
Count
)
...
...
@@ -165,7 +209,16 @@ namespace HZH_Controls.Controls.List
}
else
{
c
.
BtnText
=
lst
[
i
].
ToString
();
if
(
lst
[
i
]
==
-
1
)
{
c
.
BtnText
=
"..."
;
c
.
Enabled
=
false
;
}
else
{
c
.
BtnText
=
lst
[
i
].
ToString
();
c
.
Enabled
=
true
;
}
c
.
Visible
=
true
;
if
(
lst
[
i
]
==
PageIndex
)
{
...
...
HZH_Controls/Test/Form1.cs
查看文件 @
5a4fe92
...
...
@@ -92,7 +92,7 @@ namespace Test
List
<
object
>
lstPage2
=
new
List
<
object
>();
for
(
int
i
=
0
;
i
<
100
0
;
i
++)
for
(
int
i
=
0
;
i
<
100
;
i
++)
{
lstPage2
.
Add
(
i
);
}
...
...
编写
预览
支持
Markdown
格式
附加文件
你添加了
0
人
到此讨论。请谨慎行事。
Finish editing this message first!
Cancel
请
注册
或
登录
后发表评论