winform窗口里显示数据集用什么控件,是datagridview吗,还是别的 winform窗口里显示数据集用什么控件,是datagridview吗,还是别的显示的时候要有表头的datagridview能分页吗 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DataGridView 好像没有自带的分页功能 只有自己写代码控制了 如果你用DataGridView自带分页功能,拖一个BindingNavigator控件上去就好了! 搞个 Form, 上边一个 DataGrid, 下面一个 DataGridView ,同时绑定一个 BindingSource, 绑完数据后, 弄个其他窗口来覆盖这个窗口, 再将前面的窗口最小化, 看看窗口经过这两个 grid 时有什么区别吧?Data狗日的View 能不用还是不用, DataGrid 默认不出现的工具栏上. 分页还是用存储过程吧,下面这个是我们公司用的(网上下载的,泄露不算违反职业道德..):/* 函数名称: GetRecordFromPage 函数功能: 获取指定页的数据 参数说明: @tblName 包含数据的表名 @fldName 关键字段名 @PageSize 每页记录数 @PageIndex 要获取的页码 @OrderType 排序类型, 0 - 升序, 1 - 降序 @strWhere 查询条件 (注意: 不要加 where)*/ CREATE PROCEDURE GetRecordFromPage @tblName varchar(255), -- 表名 @fldName varchar(255), -- 字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @OrderType bit = 0, -- 设置排序类型, 非 0 值则降序 @strWhere varchar(2000) = '' -- 查询条件 (注意: 不要加 where) AS declare @strSQL varchar(6000) -- 主语句 declare @strTmp varchar(1000) -- 临时变量 declare @strOrder varchar(500) -- 排序类型 if @OrderType != 0 begin set @strTmp = "<(select min" set @strOrder = " order by [" + @fldName +"] desc" end else begin set @strTmp = ">(select max" set @strOrder = " order by [" + @fldName +"] asc" end set @strSQL = "select top " + str(@PageSize) + " * from [" + @tblName + "] where [" + @fldName + "]" + @strTmp + "([" + @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " [" + @fldName + "] from [" + @tblName + "]" + @strOrder + ") as tblTmp)" + @strOrder if @strWhere != '' set @strSQL = "select top " + str(@PageSize) + " * from [" + @tblName + "] where [" + @fldName + "]" + @strTmp + "([" + @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " [" + @fldName + "] from [" + @tblName + "] where " + @strWhere + " " + @strOrder + ") as tblTmp) and " + @strWhere + " " + @strOrder if @PageIndex = 1 begin set @strTmp = "" if @strWhere != '' set @strTmp = " where (" + @strWhere + ")" set @strSQL = "select top " + str(@PageSize) + " * from [" + @tblName + "]" + @strTmp + " " + @strOrder end exec (@strSQL)GO 只要是控件都支持数据显示,不弱是数据绑定还要看是显示单条数据还是多条数据,在.net 1.x时代,使用DataGrid控件,在2.x以后建议使用DataGridView来做。可以看这里的演示。http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx VS2010解决方案里面的项目分级创建项目可以做吗? 问一个控件名称? 关于.net重新登录问题? 如何去掉DES解密后的冗余数据? 在一个程序中完全正常的代码,到另一个里面VS2008非要说不存在类型,要郁闷死了 [winform]如何创建小形无边框窗口 c++ dll c#调用问题 VS2010开发的office共享外接程序中调用webservice提示“在serviceModel客户端配置部分中,找不到引用协定” 请教:SQL查询中出现不固定的多个参数存储过程怎样写?(在线等) Socket接受数据的问题? 请问ASP.NET读取数据库的WORD后,如何存放到某个路径下? 问个正则
同时绑定一个 BindingSource, 绑完数据后,
弄个其他窗口来覆盖这个窗口,
再将前面的窗口最小化, 看看窗口经过这两个 grid 时有什么区别吧?
Data狗日的View 能不用还是不用, DataGrid 默认不出现的工具栏上.
函数名称: GetRecordFromPage
函数功能: 获取指定页的数据
参数说明: @tblName 包含数据的表名
@fldName 关键字段名
@PageSize 每页记录数
@PageIndex 要获取的页码
@OrderType 排序类型, 0 - 升序, 1 - 降序
@strWhere 查询条件 (注意: 不要加 where)*/
CREATE PROCEDURE GetRecordFromPage
@tblName varchar(255), -- 表名
@fldName varchar(255), -- 字段名
@PageSize int = 10, -- 页尺寸
@PageIndex int = 1, -- 页码
@OrderType bit = 0, -- 设置排序类型, 非 0 值则降序
@strWhere varchar(2000) = '' -- 查询条件 (注意: 不要加 where)
AS
declare @strSQL varchar(6000) -- 主语句
declare @strTmp varchar(1000) -- 临时变量
declare @strOrder varchar(500) -- 排序类型
if @OrderType != 0
begin
set @strTmp = "<(select min"
set @strOrder = " order by [" + @fldName +"] desc"
end
else
begin
set @strTmp = ">(select max"
set @strOrder = " order by [" + @fldName +"] asc"
end
set @strSQL = "select top " + str(@PageSize) + " * from ["
+ @tblName + "] where [" + @fldName + "]" + @strTmp + "(["
+ @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " ["
+ @fldName + "] from [" + @tblName + "]" + @strOrder + ") as tblTmp)"
+ @strOrder
if @strWhere != ''
set @strSQL = "select top " + str(@PageSize) + " * from ["
+ @tblName + "] where [" + @fldName + "]" + @strTmp + "(["
+ @fldName + "]) from (select top " + str((@PageIndex-1)*@PageSize) + " ["
+ @fldName + "] from [" + @tblName + "] where " + @strWhere + " "
+ @strOrder + ") as tblTmp) and " + @strWhere + " " + @strOrder
if @PageIndex = 1
begin
set @strTmp = ""
if @strWhere != ''
set @strTmp = " where (" + @strWhere + ")"
set @strSQL = "select top " + str(@PageSize) + " * from ["
+ @tblName + "]" + @strTmp + " " + @strOrder
end
exec (@strSQL)
GO
在2.x以后建议使用DataGridView来做。
可以看这里的演示。
http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx