C# 为dataGridView中的特定列设置默认列值

C# 为dataGridView中的特定列设置默认列值,c#,datagridview,sql-server-2008-r2,C#,Datagridview,Sql Server 2008 R2,我在GridView中有一个列,在一些单元格中有一个值,而其他单元格的NULL表示空,所以我需要为空单元格设置一个默认值,而不对有数据的单元格进行任何更改,表示任何空单元格我想将NULL值改为一些数据,让我们将其设置为“无数据”。 请帮忙,我怎么做 我通过下一个代码从SQL获取数据 public void showVolunteers(int x) { SqlCommand com = new SqlCommand("SELECT [Vol_ID]as[م],[Vol_N

我在GridView中有一个列,在一些单元格中有一个值,而其他单元格的NULL表示空,所以我需要为空单元格设置一个默认值,而不对有数据的单元格进行任何更改,表示任何空单元格我想将NULL值改为一些数据,让我们将其设置为“无数据”。 请帮忙,我怎么做

我通过下一个代码从SQL获取数据

public void showVolunteers(int x)
    {
        SqlCommand com = new SqlCommand("SELECT [Vol_ID]as[م],[Vol_Name]as[الاسم],[Team_Info].[team_name]as[منتمي الى فريق],[Vol_Zone]as[المنطقة],[vol_street]as[الحي],case [Vol_Sex] when '0' then 'ذكر' when'1' then 'انثى' end as[الجنس],[Vol_Date_of_Birth]as[تاريخ الميلاد],[Vol_Home_Phone]as[هاتف المنزل],[Vol_Work_Phone]as[هاتف العمل],[Vol_Mobile1]as[جوال1],[Vol_Mobile2]as[جوال2],[Vol_Email]as[الايميل],[Vol_Job]as[الوظيفة],[Vol_Affiliation]as[جهةالعمل],case [vol_Education] when '0' then 'لايوجد' when '1' then 'ابتدائي' when '2' then 'اعدادي' when '3' then 'ثانوي' when '5' then 'دبلوم تقني' when '6' then 'دبلوم مهني' when '7' then 'جامعي' when '8' then 'ماجستير' when '9' then 'دكتوراه' end as [المستوى التعليمي], [vol_Education_Place]as[المؤسسة التعليمية], [vol_Education_Department]as[التخصص], case [vol_Interesting] when '0' then 'لا يوجد' when '1' then 'صــحــي' when '2' then 'إجتــــماعــي' when '3' then 'تـــعليــم' when '4' then 'تــدريـــب' end as[الإهـــتمام], [vol_Hours]as[عدد ساعات التطوع], [vol_Notes]as[مــلاحظــات] FROM [VolunteersAffairs].[dbo].[Personal_info] left join [team_info] on [Personal_Info].[team_id] =[Team_info].[team_id]", con);
        SqlDataAdapter da = new SqlDataAdapter();
        DataSet dats = new DataSet();
        da.SelectCommand = com;
        da.Fill(dats, "Personal_Info");
        dataGridViewX1.DataSource = dats.Tables["Personal_Info"];
    }

注意:答案是在问题中发布代码片段之前提供的

如果通过执行查询来填充表,则转换应应用于检索数据的SQL

如果您是通过代码或GUI填充列,则可以使用表的列DefaultValue属性,如下所示:


也请考虑下面@ ValCubas所提供的注释。 他还可以使用

DefaultCellStyle.NullValue
属性<代码>dataGridViewX1.DefaultCellStyle.NullValue=“无数据”将处理所有空记录。我把它作为一个评论,因为你的答案是可以的,但这似乎更准确地回答了OP的要求。@Emmad Kareem |请告诉我我能做什么?@varocarbas |我只需要修改一个特定的列,而不是所有列中的所有空单元格,只是一个包含该列中单元格的特定列。你能告诉我吗?@abdullahbahatab啊!抱歉,那么最好使用这个:
dataGridViewX1.Columns[ColIndex].DefaultCellStyle.NullValue=“无数据”但是记住Emmad在说什么;另外,这只处理空记录(DataGridView认为空的记录)。@Abdullahbahatab最好不要。我写这封信是为了说明,因为Emmad的答案还可以,只是需要一些补充(他应该用这些信息更新他的答案)。正如我所说的,我提出的代码只处理DGV所理解的空值,也许你需要考虑更多的事情。