отрицательное число в моем datagridview

#database #vb.net #ms-access #datagridview

#База данных #vb.net #ms-access #datagridview

Вопрос:

У меня проблема в моем datagridview.

Я использую vb 2008 и базу данных access. Когда я создаю новую запись для своего элемента, No столбец (первичный ключ и автономер в access) всегда показывает отрицательное число.

Как я могу сделать это положительным числом, и оно должно следовать нумерации в datagridview. Вот снимок экрана этого:

введите описание изображения здесь

Комментарии:

1. К чему привязан ваш DataGridView, к DataTable?

2. да, я просто перетаскиваю его из источников данных

Ответ №1:

Ваш столбец «Нет» будет начинаться с значения AutoIncrementSeed, равного -1, и значения AutoIncrementStep, равного -1. Набор данных недостаточно умен, чтобы начинаться с максимального значения столбца «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.

Имейте в виду, что столбец No в DataGridView может не соответствовать фактическому значению, которое создает база данных. Когда ваши данные будут зафиксированы, база данных создаст новое значение AutoNumber, игнорируя любые другие значения, которые вы можете ввести. При выполнении этого есть некоторые подводные камни, если ваши пользователи ожидают, что значение No останется неизменным после фиксации новой записи.

Ответ №2:

Просто откройте конструктор наборов данных и найдите параметр increment (-1) для соответствующего datagriview соответствующей таблицы и измените его на ( 1). Затем перестройте или перекомпилируйте ваше приложение, и проблема будет решена.

Ответ №3:

 if its showing in negative 

check the logic why its converted to negative

changing - to   dosent matters, but logic ??
  

ПРЕОБРАЗОВАТЬ Как условие put в столбец 1> = 0