如何计算一个datagridview中每一列的非空行并在第二个datagridview中显示行数?
How to count not-empty rows of each column in one datagridview and show numbers of rows in the second datagridview?
我有 2 个数据网格视图:
1 - 显示数据库中的数据。
2 - 必须在第一个数据网格视图中显示每列的非空行数。
我试过这段代码,但它计算每一行:
var count = dataGridView1.Rows.Cast<DataGridViewRow>().Where(row => !(row.Cells[0].Value == null || row.Cells[0].Value == DBNull.Value)).Count();
第二个 datagridview 必须显示不同的非空行。
请帮忙解决这个问题
感谢您的帮助。
尝试以下操作:
var count = Enumerable.Range(0, dataGridView1.Columns.Count)
.Select(x => new { column = x, count = dataGridView1.Rows.Cast<DataGridViewRow>().Where(row => !(row.Cells[x].Value == null || row.Cells[x].Value == DBNull.Value)).Count() })
.ToList();
使用数据表
var count1 = Enumerable.Range(0, dt.Columns.Count)
.Select(x => new { column = x, count = dt.AsEnumerable().Where(row => row[x] != DBNull.Value).Count() })
.ToList();
正在创建包含结果的数据表
var count1 = Enumerable.Range(0, dt.Columns.Count)
.Select(x => new { column = x, count = dt.AsEnumerable().Where(row => row[x] != DBNull.Value).Count() })
.ToList();
DataTable dt2 = new DataTable();
dt2.Columns.Add("Column Name", typeof(string));
dt2.Columns.Add("Count", typeof(int));
foreach (var count in count1)
{
dt2.Rows.Add(new object[] { dt.Columns[count.column].ColumnName, count.count });
}
我有 2 个数据网格视图:
1 - 显示数据库中的数据。
2 - 必须在第一个数据网格视图中显示每列的非空行数。
我试过这段代码,但它计算每一行:
var count = dataGridView1.Rows.Cast<DataGridViewRow>().Where(row => !(row.Cells[0].Value == null || row.Cells[0].Value == DBNull.Value)).Count();
第二个 datagridview 必须显示不同的非空行。
请帮忙解决这个问题
感谢您的帮助。
尝试以下操作:
var count = Enumerable.Range(0, dataGridView1.Columns.Count)
.Select(x => new { column = x, count = dataGridView1.Rows.Cast<DataGridViewRow>().Where(row => !(row.Cells[x].Value == null || row.Cells[x].Value == DBNull.Value)).Count() })
.ToList();
使用数据表
var count1 = Enumerable.Range(0, dt.Columns.Count)
.Select(x => new { column = x, count = dt.AsEnumerable().Where(row => row[x] != DBNull.Value).Count() })
.ToList();
正在创建包含结果的数据表
var count1 = Enumerable.Range(0, dt.Columns.Count)
.Select(x => new { column = x, count = dt.AsEnumerable().Where(row => row[x] != DBNull.Value).Count() })
.ToList();
DataTable dt2 = new DataTable();
dt2.Columns.Add("Column Name", typeof(string));
dt2.Columns.Add("Count", typeof(int));
foreach (var count in count1)
{
dt2.Rows.Add(new object[] { dt.Columns[count.column].ColumnName, count.count });
}