第一步:创建的DataGrid时候使用DataGridInactiveTextBoxColumn。public class DataGridInactiveTextBoxColumn : DataGridTextBoxColumn
{
   protected override void Edit(System.Windows.Forms.CurrencyManager source, int rowNum, System.Drawing.Rectangle bounds, bool readOnly,string instantText,bool  cellIsVisible) 
   { 
     //什么都不干。避免进入编辑状态。
   }    public DataGridInactiveTextBoxColumn()
   {   }
}第二步:自己写一个UInactiveDataGrid。
重载OnMouseDown()、OnMouseMove()来实现单选和多选。public class UInactiveDataGrid : DataGrid
{
   
}我这里有个写好了的。不过你还是自己来吧。很有乐趣的。

解决方案 »

  1.   

    参考http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp。
      

  2.   

    5.37 How can I make my grid never have an active edit cell and always select whole rows (as in a browser-type grid)?
    http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp#q856q
    搂主你可以看看这里,有完整代码,你可以下下来研究
    运行需要Access的northwind数据库,你可以从SqlServer2000把northwind导出来
     
      

  3.   

    建议你去Msdn里面查一下paint方法的帮助,有一个重载的例子,就是讲选中某个单元格后设置它的前景、背景色的。研究透了会觉得很有意思。可以用相似的方法解决很多datagrid的问题。