如何在datagridview c#.net中显示空白而不是0
我正在开发一个窗口应用程序VisualStudio2010和SQLServer2008。我的代码运行良好。我只需要一件事,若数据库中的任何值是如何在datagridview c#.net中显示空白而不是0,c#,datagridview,C#,Datagridview,我正在开发一个窗口应用程序VisualStudio2010和SQLServer2008。我的代码运行良好。我只需要一件事,若数据库中的任何值是0.000,那个么它应该在DataGridView中显示为空。请给我一个解决方案。提前谢谢。代码如下: sda = new SqlDataAdapter("select Item, Cast (Val1 AS DECIMAL (10,3)), Cast (Val2 AS DECIMAL (10,2)), Cast (Val3 AS DECIMAL (10,
0.000
,那个么它应该在DataGridView
中显示为空。请给我一个解决方案。提前谢谢。代码如下:
sda = new SqlDataAdapter("select Item, Cast (Val1 AS DECIMAL (10,3)), Cast (Val2 AS DECIMAL (10,2)), Cast (Val3 AS DECIMAL (10,2)), Cast (Val4 AS DECIMAL (10,3)), sno from Opstk where Vno ='" + txtVno.Text + "'", con);
DataTable dt = new DataTable();
sdaq.Fill(dt);
dataGridView1.Rows.Clear();
foreach (DataRow item in dt.Rows)
{
int n = dataGridView1.Rows.Add();
dataGridView1.Rows[n].Cells[0].Value = item["Item"].ToString();
dataGridView1.Rows[n].Cells[1].Value = item[1].ToString();
dataGridView1.Rows[n].Cells[2].Value = item[2].ToString();
dataGridView1.Rows[n].Cells[3].Value = item[3].ToString();
dataGridView1.Rows[n].Cells[4].Value = item[4].ToString();
dataGridView1.Rows[n].Cells[5].Value = item[5].ToString();
}
您可以试试这个:double value=Convert.ToDouble(项目[“项目”]);
dataGridView1.Rows[n]。单元格[0]。值=值==0?“”:value.ToString()代码>但这是脏的,您应该调用datagridView1.DataSource=yourDataTable
您只需为DataGridView的
globalDefaultCellStyle
设置一个格式,可能如下所示:
dataGridView1.DefaultCellStyle.Format = "###.##";
或者对于某一列中的某一列
dataGridView1.Columns[yourColumn].DefaultCellStyle.Format = "###.##";
注意但是,您添加的值不是数字而是字符串。这不一定是错误的,但它会阻止进行计算和其他事情。它还将阻止上述数字格式工作
将它们添加为数字(推荐)或仅在ToString
功能中使用所需格式:
dataGridView1.Rows[n].Cells[1].Value = item[1].ToString("###.##");
但是再一次:现在这些数字已经丢失了,如果你想使用它们,你将不得不浪费时间
当然,如果网格单元的值为0,您可能希望选择其他..,但不希望它显示0,
可以将单元格的值设置为DBNull.value
if( item[1] == 0 )
{
dataGridView1.Rows[n].Cells[1].Value = DBNull.Value;
}
稍后,如果计算需要0值,可以反转
int myValue = 0;
if (dataGridView1.Rows[n].Cells[1].Value != DBNull.Value)
{ myValue = dataGridView1.Rows[n].Cells[1].Value; }
另一种情况是,如果数据库中的值为0,则datagrid中的值应为空