日期:2014-05-18  浏览次数:20886 次

DataGridView新建一行问题
DataGridView新建一行其ID值变为-1,删除这行再新建变为-2了(只有一个虚拟行就应为-1),为什么这样?如使新建的虚拟行删除了重新由-1开始?

------解决方案--------------------
删除的时候索引肯定会变的。我记得有remove 和 removeat的,你用不是根据索引删除的那个不就可以了嘛
------解决方案--------------------
其实,最好能和数据源联系在一起,而不是用没有任何意义的-1,-2
把绑定到DataGridView的那个DataSet或者DataTable的主键设置为“自增长”——设置AutoIncremenetSeed=1,AutoIncrementStep=1,AutoIncrement=True。

另外,如果是用SqlDataAdapter——建议联合使用FillSchema和Fill(前者把各个键值的约束信息填入,后者仅填充数据和少量信息)如——

sqlDataAdapter1.FillSchema(dataSet1,SchemaType.Source,"authors"); 
sqlDataAdapter1.Fill(dataSet1,"authors");

最后一点,无论对数据库做了什么改进,建议重新获取全部数据,绑定到DataGridView。


--------------------------------------------

------解决方案--------------------
探讨

其实,最好能和数据源联系在一起,而不是用没有任何意义的-1,-2
把绑定到DataGridView的那个DataSet或者DataTable的主键设置为“自增长”——设置AutoIncremenetSeed=1,AutoIncrementStep=1,AutoIncrement=True。

另外,如果是用SqlDataAdapter——建议联合使用FillSchema和Fill(前者把各……