c#遍历dataGridView查找空值并放置“0”;代替
本文关键字:代替 dataGridView 遍历 查找 空值 | 更新日期: 2023-09-27 18:03:38
我想遍历在dataGridView中找到的所有值,检查该值是否为空,如果它为空,然后放置一个"0"值,使它不会为空。你能帮帮忙吗?
for (int i = 0; i < (dataGridView1.Rows.Count - 1); i++)
{
for (int j = 0; j < (dataGridView1.Columns.Count - 1); j++)
{
if (dataGridView1.Rows[i].Cells[j].Value == null)
{
dataGridView1.Rows[i].Cells[j].Value.Equals("0");
}
}
}
谢谢!
使用说明:
if (dataGridView1.Rows[i].Cells[j].Value == System.DBNull.Value)
{
dataGridView1.Rows[i].Cells[j].Value="0";
}
作为检查DataGridView
中空值的条件。如果你需要,你也可以检查String.IsNullOrWhitespace
有两种方式可以显示"0"而不是null或空值:
第一个在将数据源绑定到DataGrid之前更新数据源
第二个使用下面的代码
foreach(DataGridViewRow row in dataGridView1.Rows)
foreach(DataGridViewCell cell in row.Cells)
{
if(cell.Value == null || cell.Value.ToString() == string.Empty)
{
cell.Value = "0";
}
}
试试这个:
foreach (DataGridViewRow row in dataGridView1.Rows)
{
foreach (DataGridViewCell item in row.Cells)
{
if(item.Value == null || item.Value == DBNull.Value || String.IsNullOrWhiteSpace(item.Value.ToString()))
{
item.Value = "0";
}
}
}
如果您正在使用MSSQL,那么您可以在绑定到网格之前检查查询中列的值。
SELECT ISNULL(column_name, 0) from table_name
返回与check_expression相同的类型。如果作为check_expression提供了文字NULL,则返回replacement_value的数据类型。如果作为check_expression提供了文字NULL,并且没有提供replacement_value,则返回int。
https://msdn.microsoft.com/en-us/library/ms184325.aspx
第一解决方案:
如果从数据库中检索数据,那么在数据库端将null值替换为0,使用如下的Isnull函数
select Isnull(columnname,0) from表
第二个解决方案:
使用显示数据表格。RowDataBound事件
void GridView_RowDataBound(对象发送方,GridViewRowEventArgs e)
{
如果(e.Row。RowType == DataControlRowType.DataRow)
{
如果(e.Row。cell ["use cell id"]。Text == null)
{
e.Row。cell ["use cell id"]。Text = "0";
}
}
}