我的datagridview中的负数

时间:2011-05-10 00:35:25

标签: database vb.net ms-access datagridview

我在datagridview中遇到问题。

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

如何将其设为正数,并且应该遵循datagridview中的编号。这是一个屏幕截图:

enter image description here

3 个答案:

答案 0 :(得分:1)

您的“否”列将以AutoIncrementSeed为-1且AutoIncrementStep为-1开始。 DataSet不够智能,无法从“No”列的Max值开始,因此您需要以编程方式设置它。

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值保持不变,则会有一些陷阱。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

if its showing in negative 

check the logic why its converted to negative

changing - to + dosent matters, but logic ??
  

CONVERT AS将条件设置为column1> = 0