C# winform datagridview 怎么让数据在最上面开始增加

dgv 数据不是数据库的。是个文本框里面读取然后我直接add进去的。但是这样增加显示在最先一行增加。怎么让他第一行显示刚刚增加的数据。其他的依次。。。。如图 就是让最后一

次增加的数据在第一行显示。

第1个回答  推荐于2016-04-02
/*
              
  添加数据到dgv控件的代码省略...
            
*/

 // 按自编号排序
 DataGridViewColumn col = dataGridView1.Columns[1]; 
 // 按降序(即始终每次新添加的数据排最前)
 ListSortDirection direction = ListSortDirection.Descending;  
 dataGridView1.Sort(col, direction); // 执行指定排序规则

追问

。。。不行。我这不是排序。只是单纯的让最后一次增加的在第一行显示。倒数第二个增加的第二个显示。

追答

上述代码就是这个意思啊?你试过上面的代码了么?

追问

试过了。。。我再看看。。。谢谢

追答

我想我明白你的意思,其实你的想表达的应该是“在不排序的前提让dgv控件记住你每次添加的数据始终都是排在第一行”。如果是这样的话,那么是做不到,你必须得有一个“标记”来“区分”哪个是先、哪个次添加的。所以我采取的“排序”目的就是创造条件。根据这个条件来达到你的需求。

追问

对对,就是这样。不行啊。请问 它应该有个行号什么的来标记数据是第几行吧?那添加的时候可以让最大行+1让后赋值给它么?也就是没有数据的时候数据行是0我赋值直接给第一行(初始化多一行,也就是第0行在用户没添加的时候实际上是有默认数据的。然后一直重复。这个想法可以实现么?不好意思 。刚刚开始学这个,可以稍微解释下么?谢谢)

追答

正如我前面所说,你必须指定一列,用来参与排序的规则列。个人建议你不妨再增加一个CreateDate列即“添加数据日期”列,然后按这列来排序。

本回答被提问者采纳