[WinForm]DataGridView通过代码新增行问题


前言

  虽然从事Android工作有一年多,但一直有写点C#的代码,虽然仍然停留再2.0时代,但基本满足日常写个小软件的需求,这次又遇到一个变态的问题,记录一下。


声明

  欢迎转载,但请保留文章原始出处:) 

    博客园:http://www.cnblogs.com

    农民伯伯: http://over140.cnblogs.com

 

正文

  一、前提条件

    1.1  开发工具:VS2008  Framework 2.0

    1.2  使用DataTable填充DataGridView,并设置AllowUserToAddRows为true,也就是允许用户添加行。

 

  二、问题

    用过如下代码新增行,发现总会多出一个空行:

    2.1  代码

      mDataTable.Rows.Add(row.ToArray());

      代码说明:mDataTable为DataTable,已经和DataGridView绑定好了。row为List<string>类型,就是一组字符串。

    2.2  截图

       

      截图说明:标黄一行为多出来的,也是虚行。

 

  三、解决

    在新增行前设置AllowUserToAddRows为false也不管用,于是试了一下这个代码:

          dataGridView1.Enabled = false;
          mDataTable.Rows.Add(row.ToArray());
          dataGridView1.Enabled = true;

    说明:新增行前先禁用掉DataGridView,这样就不会自动给我新增一行了,遇到同样问题的朋友也赶紧试试 :)

 

  四、推广

    抽时间自定义了一个Google搜索,专门搜索C#资料的:

      www.google.com/cse/home?cx=001890648196184854956:svno7bgq8eg&hl=zh-CN

    目前包含以下网站:

 

          microsoft.com    
          *.codeplex.com    
          *.codeproject.com    
          *.cnblogs.com    
          *.51cto.com    
          *.ibm.com    
          hi.baidu.com/*    
          blog.csdn.net/*   
    欢迎大家试用,并向我反馈高质量的网站提高搜索质量。

 

 

结束

  不必怕学多学杂,抓住一个机会狠狠的尽可能深入,不定这个"杂" 日后能帮上大忙 :)

 

posted @ 2012-03-20 11:00  农民伯伯  阅读(4865)  评论(3编辑  收藏  举报