Cara Cegah/Cek/Validasi Duplicate/Data Ganda di ListView VBNET
Banyak cara untuk mencegah duplikasi data atau cara mencegah agar data
yang sama tidak masuk dua kali (terutama PrimaryKey nya). Kali ini saya
akan ambil contoh mencegah data ganda pada listview, karena biasanya
form master detail akan menyimpan data inputan pada listview sebelum
data tersebut disimpan ke table/database.
Lihatnya contoh data berikut ini :
Sebenarnya listview sudah menyediakan fungsi untuk mencari item, yaitu FindItemWithText(), contoh
penggunaannya seperti ini:
Dim hasil As ListViewItem =
ListView1.FindItemWithText(TextBox2.Text)
If hasil IsNot Nothing Then
MessageBox.Show("Data Ini Sudah Ada
pada Baris Ke " + (hasil.Index + 1).ToString, "Warning", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation)
Exit Sub
End If
ListView1.Items.Add(TextBox2.Text).SubItems.Add(TextBox3.Text)
Hanya saja FindItemWithText() ini sifatnya seperti LIKE 'xx%'
di sintak SQL, jadi dari contoh diatas jika kita ketik Da atau Dat atau
Data, fungsi tersebut akan menemukan/menganggap data sudah ada di
listview (Da, Dat, Data = Data) padahal item di listview tidak ada data
tersebut yang ada adalah Data1, Data2, ... dan seterusnya. Maka dari itu
kita harus ciptakan fungsi buatan yang lebih flexsibl, contohnya
seperti ini :
For Each item As
ListViewItem In ListView1.Items
If item.Text
= TextBox2.Text Then
MessageBox.Show("Data
Ini Sudah Ada pada Baris Ke " + (hasil.Index + 1).ToString, "Warning", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation)
Exit Sub
End If
Next
ListView1.Items.Add(TextBox2.Text).SubItems.Add(TextBox3.Text)
Jika anda ingin melakukan validasi ke subitem nya juga maka anda tinggal
tambahkan/sebutkan subitem dengan index keberapa-nya, contohnya :
For Each item As
ListViewItem In ListView1.Items
If item.Text
+ item.SubItems(1).Text = TextBox2.Text + TextBox3.Text
Then
MessageBox.Show("Data
Ini Sudah Ada pada Baris Ke " + (hasil.Index + 1).ToString, "Warning", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation)
Exit Sub
End If
Next
Semoga tulisan saya ini dapat membantu anda, terimakasih.
Sumber : djiesoft.blogspot.com
Comments
Post a Comment