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
【说明】转载请标明出处,谢谢
反馈文章质量,你可以通过快速通道评论:
查看全文
相关阅读:
Linux部署Apache ActiveMQ 5.14.1
数据库iops的理解
IOPS性能指标
APK反编译工具与使用方法
App Inspector-iOS真机
idea 项目maven无法拉取jar
adb shell常用命令
ADB 在APP自动化测试应用汇总
java调用shell命令并获取执行结果的示例
分享几个特别实用的网站,分分钟钟提升个人技能
原文地址:https://www.cnblogs.com/virusswb/p/1239783.html
最新文章
vue2.0结合Element实现select动态控制input禁用
Atom使用插件精选
Bootstrap之折叠(Collapse)插件
命令行,防火墙,入站规则
C# .NET 按ASCII 从小到大排序
C# .NET newtonsoft.json 多版本冲突解决
C# .NET MODEL 复制,实体类复制
C# .NET 实体类转Dictionary
squid 3.5 window x64
C# .NET XML 序列化为对象,反序列化
热门文章
C# .NET MD5 HASH
C#.NET XML报文签名与验签
微信无法听语音消息,也无法发语音消息
centos中rabbitmq的安装及php支持
RabbitMQ配置文件
CentOS安装、配置RabbitMQ
centos安装rabbitmq
rabbitmq的web管理界面无法使用guest用户登录
redis 列表
Mac OS X安装Redis
Copyright © 2011-2022 走看看