我想检查 datagridview 列是不是有数据或空/空
Posted
技术标签:
【中文标题】我想检查 datagridview 列是不是有数据或空/空【英文标题】:I want to check if datagridview column is having data or null/empty我想检查 datagridview 列是否有数据或空/空 【发布时间】:2021-08-17 05:38:38 【问题描述】:我想检查存储在列 [2] 中的 datagridview 值是否为空或 null。
如何访问 datagridview 列?
string[] row = new string[]
Convert.ToString(dataReader[0]),
Convert.ToString(dataReader[1]),
Convert.ToString(dataReader[2]),
Convert.ToString(dataReader[3])
;
dataGridView1.Rows.Add(row);
【问题讨论】:
这能回答你的问题吗? How to check empty and null cells in datagridview using C# 和 Check if datagridview cell is null or empty 和 C# check if datagridview column is empty 您可以检查是否为cell.Value is string
,然后检查是否为string.NullOrEmpty(cell.Value)
,根据需要解析所有重复的列,或者一个或多个特定行,如SelectedRows
。跨度>
您的代码可以引用DataGridView
中的单个单元格,例如... datagridview1.Rows[rowIndex].Cells[colIndex].Value
。您可以通过调用单元格Value.ToString()
方法来获取string
值……但是……您应该在尝试调用其ToString
方法之前检查Value
是否为null
……if (datagridview1.Rows[rowIndex].Cells[colIndex].Value != null) …
如果Value
是null
,那么如果您尝试调用Value.ToString()
,您的代码将抛出异常。如果Value
不是null
,那么它可能包含一个空值并且可以像...if (string.IsNullOrEmpty(datagridview1.Rows[rowIndex].Cells[colIndex].Value.ToString()) ...
一样检查。重点是,在调用 ToString
方法之前,您应该检查并确保 Value
不是 null
。
【参考方案1】:
使用此代码,您可以从 DataGridView 访问列
foreach (DataGridViewColumn col in dataGridView1.Columns)
但要检查空值,您应该检查单元格而不是列,因此只需添加另一个 for 来计算行数并检查特定列的每个单元格
您的代码将如下所示:
for (int colCounter=0 ; colCounter<dataGridView1.Columns.Count; colCounter++)
for(int rowCounter=0 ; rowCounter<dataGridView1.Rows.Count ; rowCounter++)
if(DataGridView1.Rows[rowCounter].Cells[colCounter].Value.tostring()==null)
//your code
【讨论】:
【参考方案2】:我认为您需要使用循环将这些数据添加到您的 datagridview
中,如下所示:
foreach(var data in row)
dataGridView1.Rows.Add(data);
【讨论】:
我添加了这样的数据。现在我想检查每一列是否为空/空或有值。我的程序中有些列是空的。如果它为空或 null 我想显示消息框以上是关于我想检查 datagridview 列是不是有数据或空/空的主要内容,如果未能解决你的问题,请参考以下文章
在插入之前检查 DataGridview 中的值是不是与数据库表/模式兼容
vs2017 c#窗口应用程序 datagridview查询到mysql数据,如何改变列字段的顺序
如何将数据表的标题名称/列名称更改为 dataGridView