2011-05-10 18 views
0

我在我的datagridview中有问题。负数在我的datagridview中

我正在使用vb 2008和一个访问数据库。当我为我的项目创建新记录时,No列(访问中的主键和自动编号)始终显示负数。

我该如何制作一个正数,它应该遵循datagridview中的编号。下面是一个屏幕截图:

enter image description here

+0

什么是你的DataGridView绑定到一个DataTable? – 2011-05-10 02:44:14

+0

是的,我只是从数据源中拖动它 – steph22 2011-05-10 02:51:51

回答

1

你的 “否” 栏会先有自己的AutoIncrementSeed -1和-1的AutoIncrementStep。 DataSet不够聪明,以“No”列的最大值开始,因此您需要以编程方式设置它。

Me.MyDataSet.MyDataTable.Columns("No").AutoIncrementSeed = _ 
Me.MyDataSet.MyDataTable.Max(Function(Row) Row.No) + 1 

Me.MyDataSet.MyDataTable.Columns("No").AutoIncrementStep = 1 

上面的第一行查找No列的最大值,并将AutoIncrementSeed设置为1,使其高于最大值。第二行只是将IncrementStep设置为1.

请记住,DataGridView中的No列可能与数据库创建的实际值不一致。在提交数据时,数据库将创建一个新的AutoNumber值,忽略可能会传入的任何其他值。如果您的用户在提交新条目后期望No值保持不变,则会出现一些缺陷。

+0

非常感谢你,它帮助了我很多! – steph22 2011-05-12 14:19:56

0
if its showing in negative 

check the logic why its converted to negative 

changing - to + dosent matters, but logic ?? 

完成转换,把条件为列1> = 0

1

只需打开数据集设计器,查找相关表的适用datagriview的增量参数(-1),并将其更改为(+1)。然后,重新编译或重新编译你的应用程序,问题就会完成。