winform窗口里显示数据集用什么控件,是datagridview吗,还是别的显示的时候要有表头的
datagridview能分页吗

解决方案 »

  1.   

    DataGridView 好像没有自带的分页功能  只有自己写代码控制了
      

  2.   

    如果你用DataGridView自带分页功能,拖一个BindingNavigator控件上去就好了!
      

  3.   

    搞个 Form, 上边一个 DataGrid, 下面一个 DataGridView ,
    同时绑定一个 BindingSource, 绑完数据后, 
    弄个其他窗口来覆盖这个窗口, 
    再将前面的窗口最小化, 看看窗口经过这两个 grid 时有什么区别吧?
    Data狗日的View 能不用还是不用, DataGrid 默认不出现的工具栏上.
      

  4.   

    分页还是用存储过程吧,下面这个是我们公司用的(网上下载的,泄露不算违反职业道德..):/* 
    函数名称: 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
      

  5.   

    只要是控件都支持数据显示,不弱是数据绑定还要看是显示单条数据还是多条数据,在.net 1.x时代,使用DataGrid控件,
    在2.x以后建议使用DataGridView来做。
    可以看这里的演示。
    http://blog.csdn.net/zhzuo/archive/2005/01/03/238273.aspx