首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何计算一个datagridview中每列的非空行数,并在第二个datagridview中显示行数?

要计算一个DataGridView中每列的非空行数,并在第二个DataGridView中显示行数,可以按照以下步骤进行:

  1. 遍历第一个DataGridView的每一列:
    • 获取当前列的索引或名称。
    • 遍历当前列的每一行:
      • 检查当前单元格是否为空。
      • 如果不为空,增加该列的非空行数计数器。
  • 创建一个新的DataTable用于存储每列的非空行数。
    • 添加列,列名为原始DataGridView中的列名。
    • 添加一行,行数据为每列的非空行数。
  • 将第二个DataGridView的数据源设置为新创建的DataTable。

以下是一个示例代码,使用C#语言和Windows Forms来实现上述功能:

代码语言:txt
复制
// 遍历第一个DataGridView计算每列的非空行数
DataTable nonEmptyRowCountTable = new DataTable();
for (int columnIndex = 0; columnIndex < dataGridView1.Columns.Count; columnIndex++)
{
    string columnName = dataGridView1.Columns[columnIndex].Name;
    int nonEmptyRowCount = 0;

    for (int rowIndex = 0; rowIndex < dataGridView1.Rows.Count; rowIndex++)
    {
        DataGridViewCell cell = dataGridView1[columnIndex, rowIndex];
        if (cell.Value != null && !string.IsNullOrEmpty(cell.Value.ToString()))
        {
            nonEmptyRowCount++;
        }
    }

    nonEmptyRowCountTable.Columns.Add(columnName, typeof(int));
    nonEmptyRowCountTable.Rows.Add(nonEmptyRowCount);
}

// 将第二个DataGridView的数据源设置为非空行数的DataTable
dataGridView2.DataSource = nonEmptyRowCountTable;

这段代码会遍历第一个DataGridView的每一列,计算每列的非空行数,并将结果存储在一个新的DataTable中。然后,将第二个DataGridView的数据源设置为这个新的DataTable,以显示每列的非空行数。

请注意,这只是一个示例代码,你可以根据实际需求进行修改和优化。另外,由于要求不能提及特定的云计算品牌商,所以没有包含相关产品和链接。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【愚公系列】2023年11月 Winform控件专题 DataGridView控件详解

下面是一个示例代码,演示如何设置DataGridView控件ClipboardCopyMode属性:private void button1_Click(object sender, EventArgs...在按钮单击事件,将选中行复制到剪贴板,并设置了复制到剪贴板内容类型为包含标题内容。...具体步骤如下:打开Winform项目,拖拉一个DataGridView控件到窗体;添加要显示,设置属性;设置RowTemplate属性,例如设置行背景颜色:dataGridView1.RowTemplate.DefaultCellStyle.BackColor...可以通过设置属性来控制哪些可以过滤,以及过滤条件。数据选择:DataGridView控件可以允许用户选择一行或多行数据。可以通过设置控件属性来控制选择模式,如单选、多选等。...Step 2: 添加DataGridView控件在设计器添加一个DataGridView控件,并在其上添加四个按钮:添加、编辑、删除和保存。

1.8K11
  • DataGridView控件用法一:数据绑定

    DataGridView控件,可以显示和编辑来自多种不同类型数据源表格数据。 将数据绑定到DataGridView控件非常简单和直观,在大多数情况下,只需设置DataSource属性即可。...一、绑定模式 所谓绑定模式就是DataGridView控件显示数据不是来自于绑定数据源,而是可以通过代码手动将数据填充到DataGridView控件,这样就为DataGridView控件增加了很大灵活性...DataGridViewImageColumn 用于显示图像,在绑定到字节数组、Image对象或Icon对象自动生成 DataGridViewButtonColumn 用于在单元格显示按钮,不会在绑定时自动生成...,通常用来做未绑定 DataGridViewComboBoxColumn 用户在单元格显示下拉列表,不会在绑定时自动生成,通常需要手动进行数据绑定 DataGridViewLinkColumn 用于在单元格显示超链接...DataGridViewTextBox /// /// 要创建DataGridView

    3.9K20

    BindingNavigator控件

    可以将一个数据集合与该控件绑定,以进行数据 联动显示效果。如图下图所示: 那么,下面我们就来用BindingNavigator控件做一下上图所示效果。...分析: 该案例以BindingNavigator控件为主线,我们定义一个实体类,将实体类以集合形式显示DataGridView, 同时,将BindingNavigator与DataGridView...绑定,将BindingNavigator与文本框显示数据绑定,将 BindingNavigator与Button控件绑定,来演示一个数据联动效果,已达到学习BindingNavigator控件目的...步骤: 首先,在Visual Studio创建一个WinForm应用程序,在Form1添加BindingNavigator控件,DataGridView控 件,两个文本框,四个按钮(分别表示:First...BindingNavigator控件,与DataGridView,文本框,按 钮控件进行数据绑定,进行数据联动显示效果; 示例代码: Form1.cs using System;using System.Collections.Generic

    1.3K10

    C#常见控件与SQL Sever数据库交互

    sql语句,第二个con是我们上面的数据库连接接口。...然后我们用这个对象(我这叫da)直接.Fill将数据添加到DataSet,括号内分别是DataSet对象名和我们DataSet表名。...注意 我们还需要在DataGridView控件那给他添加项,你想输出几个数据库字段就添加几个项,每个项需要你自己去给每个设置数据字段。...你给定义一个名字,参考下图 添加完后,你要想让他一显示还需要修改如下属性 然后,哎,这个控件一般不用来做表格和数据输出,我就直接贴个代码吧,有兴趣去了解,没兴趣直接CV,然后改改空间名就基本可以用...= cmd.ExecuteReader(); while (dr.Read()) { //将每行数据输入显示

    1.3K40

    程序员你知道吗?C# 也可以连接和操作Access数据库

    创建数据库并初始化数据 打开Access数据库,选择数据库,输入创建路径和文件名,直接进行创建数据库即可: 创建表并初始化数据 ? 输入表各字段保存即可,如图: ?...连接AccessDemo 数据库创建成功,下面以Winform为例做链接Access数据库操作: 创建Winform项目,并添加DataGridView控件用以显示数据 ?...读取Access并显示到界面: 为了方便对数据库数据操作,利用面向对象思想,创建数据库对应Model类: 执行ExecuteDataReader方法,获取所有数据显示DataGridView: ?...下面再介绍一个数据源配置方式: 数据源配置 首先需要进行数据源配置: 【控制面板】-【小图标显示】-【管理工具】-【数据源(ODBC)】-【系统DSN】-【添加】 发现并没有Access所对应数据源选项...小编使用是Win7 64位系统进行测试,管理工具中所列出来是64位配置源。在32位系统应该会显示。 在64位系统,是包含64位和32位两个数据源程序

    4K20

    期末作业C#实现学生宿舍管理系统

    开发背景 完整代码下载地址:点我下载 优化移步: 《c#datagridview表格动态增加一个按钮方法》 《C#实现多窗口切换:Panel详细教程(亲测)》 文章还在更新,上次更新时间2022...,后面增加数据表就在对应文章写入,下面的是用户登录、注册以及供用户列表显示 新建demo数据库,并在该数据库建立两个数据表:admin、user admin表字段设计如下: user...Cells[0].Value; //获取所在行第一元素 dataGridView1.Rows.RemoveAt(index); MessageBox.Show(aa.ToString()); 这一步作用是获取到鼠标选中所在行第一元素值...这样在切换过程中就不会感觉框变化 ③设计可视化窗体(根据自己需求自己来) 我们添加一个datagridview,然后对图中阴影部分右键【编辑】 编辑在添加id、学生姓名、宿舍号...答:通过表单传值获取到id进行数据库语句删除,删除本地再删除数据库里面的 窗口如何传值: 本次通过构造函数,特点:传值是单向(不可以互相传值),实现简单 实现代码如下: 在目标窗体 int

    27130

    C#学习之路(1)--数据库技术

    前言 在7月10日就要去扬州实习了,首先是为期2个月培训。一个Java,一个C#。在这一个月里面,准备梳理一下java和C#基础知识,同时也进行更深一步学习。...---- DataSet对象 ADO.NET一个比较突出特点是支持离线访问,即在连接环境下对数据进行处理。DataSet是支持离线访问关键对象,它将数据存储在缓存。...返回一个int型数据,就是受查询影响行数。一般大于0就是操作成功,反之,操作失败。 ExecuteReader():一般用于查询操作,返回一个数据集Reader对象。...用于定义处理数据存储数据命令,并且每一个命令都是对Command对象一个引用,可以共享同一个数据源。...Update()方法:该方法用于将DataSet对象一个数据表更改内容更新到对应真实数据库里面的数据表

    2K40

    MultiRow中文版技术白皮书

    首先,通过集成设计器设计适合于业务需求模板,并把模板应用于MulitRow控件,之后把MultiRow绑定到相关数据源(或者直接使用MultiRow绑定模式),这样数据源一条数据记录将会根据所设计模板进行呈现...这样设计思路满足了设计和开发分离用户需求,负责设计表格美工人员只需要设计一个模板,在模板设置好表格所有布局和外观,然后交予应用程序开发人员进行具体功能开发。...MultiRow可以被很方便设计成一个传统规整Matrix样式表格,支持了数据绑定,绑定,排序,过滤,校验,冻结,多视图显示等。...绑定模式,即在不绑定到数据源情况下,可以很方便操作和显示数据。 虚拟模式,虚拟模式是为大型数据存储区而设计,仅当数据需要显示时候,由用户来操作单元格填充,编辑和删除。...性能 MultiRow支持常见表格控件基本功能。同时,得益于MultiRow独特设计,能够达到百万行数平滑滚动。

    1.3K50
    领券