zoukankan
html css js c++ java
c#,用户控件,分页浏览,winform,datagridview,BandingNavigator,bandingSource Virus
分页用户控件,使用效果如上图,可以用在查询窗体,代码如下:
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Drawing;
using
System.Data;
using
System.Text;
using
System.Windows.Forms;
namespace
Kimbanx.SecurityDiskSystem.Controls
{
public
partial
class
SelectPaging : UserControl
{
/**/
///
<summary>
///
每页显示记录数
///
</summary>
private
int
_pageSize
=
20
;
/**/
///
<summary>
///
每页显示记录数
///
</summary>
public
int
PageSize
{
get
{
return
_pageSize; }
set
{ _pageSize
=
value; }
}
/**/
///
<summary>
///
总记录数
///
</summary>
private
int
_nMax
=
0
;
/**/
///
<summary>
///
总记录数
///
</summary>
public
int
NMax
{
get
{
return
_nMax; }
set
{ _nMax
=
value; }
}
/**/
///
<summary>
///
页数=总记录数/每页显示记录数
///
</summary>
private
int
_pageCount
=
0
;
/**/
///
<summary>
///
页数=总记录数/每页显示记录数
///
</summary>
public
int
PageCount
{
get
{
return
_pageCount; }
set
{ _pageCount
=
value; }
}
/**/
///
<summary>
///
当前页号
///
</summary>
private
int
_pageCurrent
=
0
;
/**/
///
<summary>
///
当前页号
///
</summary>
public
int
PageCurrent
{
get
{
return
_pageCurrent; }
set
{ _pageCurrent
=
value; }
}
/**/
///
<summary>
///
当前记录行
///
</summary>
private
int
_nCurrent
=
0
;
/**/
///
<summary>
///
当前记录行
///
</summary>
public
int
NCurrent
{
get
{
return
_nCurrent; }
set
{ _nCurrent
=
value; }
}
/**/
///
<summary>
///
设置数据源
///
</summary>
private
DataTable dataSource
=
null
;
/**/
///
<summary>
///
设置数据源
///
</summary>
public
DataTable DataSource
{
get
{
return
dataSource; }
set
{ dataSource
=
value; }
}
//
private DataSet ds = null;
public
void
InitDataSet(DataTable dt)
{
this
.dataSource
=
dt;
this
._nMax
=
this
.dataSource.Rows.Count;
//
计算总页数
this
._pageCount
=
_nMax
/
_pageSize;
//
if
((_nMax
%
_pageSize)
>
0
)
_pageCount
++
;
_pageCurrent
=
1
;
_nCurrent
=
0
;
FillData();
}
/**/
///
<summary>
///
默认构造函数
///
</summary>
public
SelectPaging()
{
InitializeComponent();
lblMsg.Enabled
=
false
;
}
/**/
///
<summary>
///
填充数据
///
</summary>
private
void
FillData()
{
//
当前页面开始记录行
int
nStartPos
=
0
;
//
当前页面结束记录行
int
nEndPos
=
0
;
DataTable dtTemp
=
this
.dataSource.Clone();
if
(
this
._pageCurrent
==
this
._pageCount)
nEndPos
=
_nMax;
else
nEndPos
=
this
._pageCurrent
*
this
._pageSize;
nStartPos
=
this
._nCurrent;
lblMaxPage.Text
=
this
._pageCount.ToString();
txtCurrentPage.Text
=
this
._pageCurrent.ToString();
for
(
int
i
=
nStartPos; i
<
nEndPos; i
++
)
{
dtTemp.ImportRow(
this
.dataSource.Rows[i]);
_nCurrent
++
;
}
bdSource.DataSource
=
dtTemp;
bdNav.BindingSource
=
bdSource;
dataGV.DataSource
=
bdSource;
}
private
void
bdNav_ItemClicked(
object
sender, ToolStripItemClickedEventArgs e)
{
switch
(e.ClickedItem.Text)
{
case
"
移到上一条记录
"
:
//
FillData();
break
;
case
"
移到下一条记录
"
:
//
FillData();
break
;
case
"
上一页
"
:
if
(
this
._pageCurrent
==
1
)
{
lblMsg.Text
=
"
已经是第一页,请点击“下一页”查看!
"
;
//
btnPrePage.Enabled = false;
return
;
}
else
{ _pageCurrent
--
;
this
._nCurrent
=
this
._pageSize
*
(_pageCurrent
-
1
);
FillData();
}
break
;
case
"
下一页
"
:
if
(
this
._pageCurrent
==
_pageCount)
{
lblMsg.Text
=
"
已经是最后一页,请点击“上一页”查看!
"
;
return
;
}
else
{
_pageCurrent
++
;
this
._nCurrent
=
this
._pageSize
*
(_pageCurrent
-
1
); FillData();
}
break
;
}
}
}
}
【Blog】
http://virusswb.cnblogs.com/
【MSN】
jorden008@hotmail.com
【说明】转载请标明出处,谢谢
反馈文章质量,你可以通过快速通道评论:
查看全文
相关阅读:
Powered by .NET Core 进展0815:第5次发布尝试(Windows部署)团队
峰回路转:去掉 DbContextPool 后 Windows 上的 .NET Core 版博客表现出色团队
做梦也没有想到:Windows 上的 .NET Core 版博客系统表现更糟糕团队
全网最详细的zkfc启动以后,几秒钟以后自动关闭问题的解决办法(图文详解)
全网最详细的HBase启动以后,HMaster进程启动了,几秒钟以后自动关闭问题的解决办法(图文详解)
全网最详细的启动或格式化zkfc时出现java.net.NoRouteToHostException: No route to host ... Will not attempt to authenticate using SASL (unknown error)错误的解决办法(图文详解)
全网最详细的HA集群的主节点之间的双active,双standby,active和standby之间切换的解决办法(图文详解)
全网最详细的启动zkfc进程时,出现INFO zookeeper.ClientCnxn: Opening socket connection to server***/192.168.80.151:2181. Will not attempt to authenticate using SASL (unknown error)解决办法(图文详解)
全网最详细的再次或多次格式化导致namenode的ClusterID和datanode的ClusterID之间不一致的问题解决办法(图文详解)
执行bin/hdfs haadmin -transitionToActive nn1时出现,Automatic failover is enabled for NameNode at bigdata-pro02.kfk.com/192.168.80.152:8020 Refusing to manually manage HA state的解决办法(图文详解)
原文地址:https://www.cnblogs.com/virusswb/p/1239783.html
最新文章
重新想象 Windows 8 Store Apps (36)
重新想象 Windows 8 Store Apps (35)
重新想象 Windows 8 Store Apps (34)
Flutter自定义布局套路
flutter 调用原生(获取当前设备电池电量)
WebSocket与消息推送
SpringBoot2+WebSocket之聊天应用实战(优化版本)
Jaguar_websocket结合Flutter搭建简单聊天室
如何用WebSocket实现一个简单的聊天室以及单聊功能
Android Dragger2快速入门浅析
热门文章
singleInstance和singleTask导致startActivityForResult回调失败
Android studio Connection failed (dl.google.com)
flutter 异步async、await和Future的使用技巧
上周热点回顾(8.26-9.1) 团队
七缸发动机预热,docker swarm + .net core 高速飙车成功团队
上周热点回顾(8.19-8.25)团队
行车记+翻车记:.NET Core 新车改造,C# 节能降耗,docker swarm 重回赛道团队
Powered by .NET Core 进展0819:高速开车车况汇报团队
上周热点回顾(8.12-8.18)团队
高速开车换底盘记:Windows 与 Linux 部署都抗住了,但修车任务艰巨团队
Copyright © 2011-2022 走看看