1、  DATAGRID中有一个列为:DataGridBoolColumn列,名字为:Dgc_IsNull,我将它绑定到了数据表中的某个字段,这个字段类型是:string型的,其中的值有YES,No两种,我对数据表(DATATABLE)及这个列设置了以下属性:  
Dgc_IsNull.FalseValue="No";  
Dgc_IsNull.TrueValue="YES";  
Dgc_IsNull.NullValue="No";  
Dgc_IsNull.AllowNull=false;  
tables.Columns[2].DefaultValue="YES";  //绑定的数据表列  
现在的现象是:对于YES的值,显示为灰色的带钩的框,对于No的值,显示的是白色的带钩的框,  
但是我需要的:对于YES的值,显示为带钩的框,对于No的值,显示为没有钩的框,决对不要白色的.  
怎么解决.  
 
 
2、  对于DATAGRID有没有事件是在改变当前行时触发的,我查了一下,只有在改变当前CELL时触发的一个CurrentCellChanged事件,我只要当前行改变时解发  
 

解决方案 »

  1.   

    把YES或NO转换成1或0 来处理
    改变当前行的事件可以用DATATABLE中的事件!!!!!
    或者你帮定的数据类型的事件
      

  2.   

    1。你读出数据转换成bool类型吧,没遇到这个问题,不知道什么好方法。
    2。可以用绑定的currencymanager的CurrentChanged事件。
      

  3.   

    问题2:
    private void dataGrid1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
    {

    DataGrid myGrid = (DataGrid) sender;
    System.Windows.Forms.DataGrid.HitTestInfo hti;
    hti = myGrid.HitTest(e.X, e.Y);

    switch (hti.Type) 
    {
    case System.Windows.Forms.DataGrid.HitTestType.RowHeader :
    case System.Windows.Forms.DataGrid.HitTestType.Cell :
                    MessageBox.Show("the row header for row " + hti.Row);                      break;
                     }
    }