`
cfeers
  • 浏览: 138614 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

如何获取GridView的总记录数?

 
阅读更多

用GridView.Rows.Count的话获取的只是当前页的记录数,用GridView.PageSize * GridView.PageCount的话,如果最后一页的记录数不是GridView.PageSize条的话,获取的总记录数就不准确。因此,我们要编写代码判断,如下:

 

C#代码 复制代码 收藏代码
  1. if (GridView1.PageCount > 0)     //  如果页数大于0   
  2. {   
  3.   
  4.       GridView1.PageIndex = GridView1.PageCount - 1;   //  将当前显示页的索引转到最后一页    
  5.     GridView1.DataBind();         //重新绑定数据,这是十分重要,这样才能到达最后一页   
  6.     int lastSize = GridView1.Rows.Count;           //  然后获得最后一页的行数   
  7.     if (GridView1.PageCount > 1)     //  如果页数大于1页,则计算出   
  8.     {                                                       //  总行数=(总页数-1)* 每页行数 +  最后一页的行数   
  9.         int rowsCount = GridView1.PageSize * (GridView1.PageCount - 1) + lastSize;   
  10.             recordCount.Text = rowsCount.ToString();      //  将它赋给一个Label   
  11.       }   
  12.    else    
  13.             recordCount.Text = lastSize.ToString();   //如果页数只有一页,则直接将该页的行数赋给Label   
  14.             GridView1.PageIndex = 0;             
  15.    }   
  16.    else recordCount.Text = "0";     //  如果无记录,页显示0  
if (GridView1.PageCount > 0)     //  如果页数大于0
{

      GridView1.PageIndex = GridView1.PageCount - 1;   //  将当前显示页的索引转到最后一页 
    GridView1.DataBind();         //重新绑定数据,这是十分重要,这样才能到达最后一页
    int lastSize = GridView1.Rows.Count;           //  然后获得最后一页的行数
    if (GridView1.PageCount > 1)     //  如果页数大于1页,则计算出
    {                                                       //  总行数=(总页数-1)* 每页行数 +  最后一页的行数
        int rowsCount = GridView1.PageSize * (GridView1.PageCount - 1) + lastSize;
            recordCount.Text = rowsCount.ToString();      //  将它赋给一个Label
      }
   else 
            recordCount.Text = lastSize.ToString();   //如果页数只有一页,则直接将该页的行数赋给Label
            GridView1.PageIndex = 0;          
   }
   else recordCount.Text = "0";     //  如果无记录,页显示0

 

如果用SqlDataSource作为GridView数据源的话,就很简单了,在SqlDataSource的Selected事件中编写如下的代码:

C#代码 复制代码 收藏代码
  1. protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)   
  2. {   
  3.         lblNum.Text = e.AffectedRows.ToString();   //e.AffectedRows获取的就是总记录数   
  4. }  
protected void SqlDataSource1_Selected(object sender, SqlDataSourceStatusEventArgs e)
{
        lblNum.Text = e.AffectedRows.ToString();   //e.AffectedRows获取的就是总记录数
}

 

分享到:
评论

相关推荐

    winform中获取gridview选定行标识列的值

    在探讨如何在WinForm应用程序中获取GridView控件中选定行的标识列的值之前,我们需要先了解几个关键概念:WinForm、GridView控件以及相关的编程技术。本篇内容将围绕这些核心点展开,并提供详细的解释与示例代码。 ...

    获取GridView中Checkbox的值

    在ASP.NET开发中,GridView控件常用于展示数据表格,而Checkbox则经常...通过Button1_Click事件处理程序,我们可以获取到用户在GridView中选中的Checkbox所对应的记录的"id",从而实现进一步的数据操作或业务逻辑处理。

    C# GridView批量删除记录

    接着,需要在 GridView 的绑定数据源时,指定主键字段,以便能够获取记录的主键值。然后,需要在确认对话框中,使用 JavaScript 代码来删除选中的记录。 在实现批量删除功能时,需要注意以下几点: 1. 主键问题:...

    GridView分页和选择某条记录

    在这个示例中,我们将深入探讨“GridView分页”和“选择某条记录”的实现。 首先,让我们了解GridView的分页功能。在网页上显示大量数据时,分页是一种有效的优化用户体验的方法,因为它避免了一次性加载所有数据...

    asp.net gridview两种添加记录 图解

    ### ASP.NET Gridview 两种添加记录方法详解 #### 一、引言 在ASP.NET Web Forms应用程序中,`GridView` 控件是展示和操作数据库数据的常用工具之一。本文主要介绍两种通过 `GridView` 控件添加记录的方法:一种是...

    GridView使用集合

    4、radio控件,选中获取GridView表主键 5、GridView中DropDownList绑定数据,直接绑定显示,无需点击编辑按纽。 6、JavaScript操作checbox实现全选,多选 六、设置属性 1、JavaScript设置GridView行的背景颜色,单偶...

    C# GridView+CheckBox删除记录

    ### C# GridView+CheckBox 删除记录实现方法 在Web开发中,使用ASP.NET的GridView控件结合CheckBox进行数据展示与操作是一种常见的应用场景。特别是在涉及到多条记录的管理时,利用CheckBox来辅助用户选择需要操作...

    Gridview数据真分页

    - 需要计算总页数,通常通过`COUNT(*)`查询获取总记录数,然后用总记录数除以每页大小,取整得到总页数。 5. **优化技巧:** - 使用缓存:对于不经常变动的数据,可以考虑缓存分页结果,减少数据库查询次数。 - ...

    c#获取气象站数据库数据并以gridview格式显示

    在C#编程环境中,开发一个应用来从SQL SERVER数据库中获取气象站的数据,并将这些数据以GridView控件的形式展示,是常见的数据可视化任务。GridView控件是ASP.NET中用于显示和操作数据的强大工具,通常与数据库连接...

    GridView

    新功能可能包括更灵活的分页选项,如自定义每页记录数或者动态分页。 2. 数据排序:用户可以通过点击列头对数据显示进行排序。新功能可能提供了更多的排序选项,如多列排序或者自定义排序逻辑。 3. 编辑和删除功能...

    GridView合计列

    GridView由行(Rows)和列(Columns)组成,每一行代表数据源中的一个记录,每一列则显示记录的某个属性。在默认情况下,GridView不提供内置的合计功能,但可以通过自定义代码来实现。 1. 数据绑定与计算 在ASP.NET...

    VS 自带Gridview分页以及操作记录后返回当前页

    在这里,`iPageIndex`是当前页的索引,`iPageSize`是每页显示的记录数,`iIndex`是相对于当前页面的行索引。通过这种方式,可以正确获取选定行的数据。 最后,我们需要处理一个常见的问题:用户填写迟到原因后返回...

    gridview使用技巧、gridview使用大全、gridview常用问题、gridview常用方法

    - DetailsView和FormView:用于编辑单个记录,与GridView结合提供更完整的数据操作体验。 - PagerTemplate:自定义分页样式和行为。 - ButtonField和HyperLinkField:在GridView中添加按钮和链接,实现更多交互...

    Asp.net下Gridview的72种用法

    6. 插入新记录:通过添加InsertItem模板,可以实现向数据源插入新记录的功能。Inserting事件用于验证和执行插入操作。 7. 行事件处理:RowDataBound事件在每行加载时触发,可以用来修改单元格内容、样式或者执行...

    自定义分页及gridview列可拖动

    这通常涉及到后台代码的编写,如C#,以处理数据获取和页面导航事件。 对于列拖动功能,这是一个增强用户界面(UI)和用户体验(UX)的重要特性。在传统的GridView中,列宽通常是固定的,这可能不适应所有用户的偏好...

    GridView+FormView 示範資料

    在与GridView结合使用时,FormView可以作为编辑或新增数据的界面,当用户从GridView选择一条记录进行编辑时,FormView会加载所选记录的数据,用户修改后,再将数据保存回数据库。 在学习这个示例时,你需要理解以下...

    GridView基本应用实例

    设置`AllowPaging`为`true`,并可以设置`PageSize`属性来定义每页显示的记录数。`PageIndexChanging`事件用于在用户切换页面时更新显示的数据。 排序功能使用户可以根据某一列的值对数据进行升序或降序排列。当用户...

    Aspx GridView使用大全

    例如,你可以创建一个模板字段在表尾显示总记录数或总计。 2. **导入导出功能** GridView 可以实现数据的导入(如Excel、CSV)和导出(PDF、Excel、CSV)。通过使用第三方库或内置的.Net框架方法,可以将GridView...

    c#的gridview应用

    在更新和删除操作中,通常会涉及到参数(如@id),这些参数需要与GridView的BoundField或TemplateField的DataKeyNames属性相对应,以便获取要修改或删除的记录ID。 在实际应用中,可能还需要处理GridView的各种事件...

Global site tag (gtag.js) - Google Analytics