Khabibb Mubarakk Ответов: 1

Как предотвратить дублирование данных при вставке в datagridview VB net


У меня есть "N" в виде текстового поля со значением "001" , и у меня есть datagridview(dgv) с полем "@ka"
Я вставляю "001" в dgv --->

@ка
001
...
...

как предотвратить дублирование, когда я пытаюсь снова вставить 001 в dgv..
пожалуйста, помогите мне, ребята..
спасибо

Что я уже пробовал:

если N. textbox=dgv.currentrow.cells(0).value, то
msgbox("дубликат")
еще
данные вставки ----
конец, если

Patrice T

В чем проблема с вашим кодом?

Khabibb Mubarakk

это не работает.
у тебя есть какие-нибудь идеи..
пожалуйста, помогите мне

1 Ответов

Рейтинг:
2

Patrice T

Чтобы проверить наличие дубликатов, вам нужно проверить каждую существующую строку в datagridview, из фрагмента кода, я подозреваю, что вы проверяете только текущую.
Используйте отладчик, чтобы точно видеть, что делает ваш код.

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя отладчик Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что он делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволит вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения.
Отладчик - Википедия, свободная энциклопедия[^]
Visual Basic / Visual Studio Video Tutorial - Базовая Отладка - YouTube[^]
Visual Basic .NET programming for Beginners - точки останова и средства отладки[^]
Отладчик здесь, чтобы показать вам, что делает ваш код, и ваша задача-сравнить с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


Khabibb Mubarakk

Эй, ребята, я получаю решение этой проблемы, но у меня есть еще одна проблема... я делаю это на частной субмарине . этот код cek дублирует данные по ячейкам(nid_sp)

For i As Integer = 0 To dataspdibeli.Rows.Count - 1
            If Not IsDBNull(dataspdibeli.Rows(i).Cells("NID_SP").Value) AndAlso dataspdibeli.Rows(i).Cells("NID_SP").Value = spnid.Text Then
                If MessageBox.Show("Data Barang Sudah Ada , Tambah Jumlah Barang ?", "Confirmation !", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then
                    dataspdibeli.Rows(i).Cells("QTY").Value = dataspdibeli.Rows(i).Cells("QTY").Value + Val(spqty.Text)
                Else
                    Exit Sub
                End If
                Exit Sub
            End If
        Next


этот код для проверки другого условия Перед проверкой дубликатов данных

<pre>Dim stock = datasparepart.CurrentRow.Cells(5).Value
        If stock = 0 Then
            MsgBox("Stock Item Habis", MsgBoxStyle.Exclamation)
        ElseIf stock < Val(spqty.Text) Then
            MsgBox("Stock Kurang Dari Jumlah Item Yang Dibeli", MsgBoxStyle.Exclamation)
        ElseIf spqty.Text = "" Then
            MsgBox("Masukkan Jumlah Item", MsgBoxStyle.Exclamation)
            spqty.Focus()
         
         elseif ----{HOW PLACE/CHECK THE PRIVATE SUB DUPLICATE HERE} 
  
        Else
            With dataspdibeli
                'Insert data ke DGV
                .Rows.Insert(.NewRowIndex, penfaktur.Text, spnid.Text, spnama.Text, spharga.Text, spqty.Text, spsubtotal.Text)
            End With
            hitung()
        End If

Patrice T

Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.