CARA MEMBUAT
PENCARIAN DENGAN MENGGUNAKAN FORM YANG BERBEDA
Skenario:
Ketika Tombol Cari yang ada Group Data Peserta di klik, maka akan
tampil Form Daftar Peserta.
Dari Form Data Peserta tersebut, kita bisa mencari dengan cara
mengetikkan nama Pesertanya di TextBox Kata Kunci dan jika ditemukan
datanya…hasilnya kita klik/Double Klik melalui Datagrid tersebut dan Otomatis
Datanya akan ditempatkan di TextBox IDPeserta dan Nama Peserta yang ada di Form
Sertifikat.
Nah, bagaimana cara buatnya ikutin langkah-langkah berikut:
1. Buat FormSertifikat seperti desain Form diatas
2. Buat FormDaftarPeserta seperti desain Form diatas.
3. Double Klik tombol Cari yang ada FormSertifikat di group Data Peserta
4. Ketikkan script program berikut:
1. Buat FormSertifikat seperti desain Form diatas
2. Buat FormDaftarPeserta seperti desain Form diatas.
3. Double Klik tombol Cari yang ada FormSertifikat di group Data Peserta
4. Ketikkan script program berikut:
.
Private Sub BtnCariPeserta_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles BtnCariPeserta.Click
Dim
tabel As New
FormDaftarPeserta
tabel.ShowDialog()
If
tabel.retIDPeserta <> "" Then
txtIDPeserta.Text =
tabel.retIDPeserta
txtNamaPeserta.Text =
tabel.retNamaPeserta
CboKeikutsertaan.Focus()
End If
End Sub
2
5. Ketikkan script berikut di FormDaftarPeserta
5. Ketikkan script berikut di FormDaftarPeserta
Imports
MySql.Data.MySqlClient
Imports MySql.Data
Public Class FormDaftarPeserta
Public
sqlx, retIDPeserta, retNamaPeserta As String
Sub
isiGrid()
Call
bukaDB()
DA = New
MySqlDataAdapter("SELECT * from Peserta",
Conn)
DS = New
DataSet
DA.Fill(DS, "Peserta")
DataGridView1.DataSource = DS.Tables("Peserta")
DataGridView1.ReadOnly = True
DataGridView1.Columns(0).Width = 70
DataGridView1.Columns(1).Width = 150
End Sub
Private Sub FormDaftarPeserta_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Me.Activated
TextBox1.Focus()
End Sub
Private Sub FormDaftarPeserta_Load(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Call
isiGrid()
ComboBox1.Items.Add("IDPeserta")
ComboBox1.Items.Add("Nama Peserta")
ComboBox1.Text = "Nama Peserta"
End Sub
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As
System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
TextBox1.Focus()
End Sub
Private Sub pilih()
Dim i As Integer
i = Me.DataGridView1.CurrentRow.Index
Try
With
DataGridView1.Rows.Item(i)
retIDPeserta =
.Cells(0).Value.ToString
retNamaPeserta =
.Cells(1).Value.ToString
End
With
Me.Close()
Catch
ex As Exception
MsgBox("Pilih
salah satu data", MsgBoxStyle.Critical)
End Try
End Sub
Private Sub DataGridView1_CellContentClick(ByVal sender As
System.Object, ByVal e As
System.Windows.Forms.DataGridViewCellEventArgs) Handles
DataGridView1.CellContentClick
Call
pilih()
End Sub
Private Sub DataGridView1_RowPostPaint(ByVal sender As Object, ByVal e As
System.Windows.Forms.DataGridViewRowPostPaintEventArgs) Handles DataGridView1.RowPostPaint
Dim dg As DataGridView = DirectCast(sender,
DataGridView)
Dim
rownumber As String
= (e.RowIndex + 1).ToString()
While
rownumber.Length < dg.RowCount.ToString().Length
rownumber = "0" & rownumber
End While
Dim
size As SizeF =
e.Graphics.MeasureString(rownumber, Me.Font)
If
dg.RowHeadersWidth < CInt(size.Width + 20) Then
dg.RowHeadersWidth = CInt(size.Width + 20)
End If
Dim b As Brush = SystemBrushes.ControlText
e.Graphics.DrawString(rownumber,
dg.Font, Brushes.Beige, e.RowBounds.Location.X + 15, e.RowBounds.Location.Y +
((e.RowBounds.Height - size.Height) / 2))
End Sub
Private Sub BtnKeluar_Click(ByVal
sender As System.Object, ByVal e As
System.EventArgs)
Me.Close()
End Sub
Private Sub TextBox1_TextChanged(ByVal
sender As System.Object, ByVal e As
System.EventArgs) Handles TextBox1.TextChanged
If
ComboBox1.Text = "ID Peserta" Then
Using
bbb As New
MySqlClient.MySqlCommand("select * from
Peserta where IDPeserta like '%" & TextBox1.Text & "%' order by IDPeserta", Conn)
CMD.CommandTimeout = 0
Using
dr As MySqlClient.MySqlDataReader =
bbb.ExecuteReader()
Using
dt As New
DataTable
dt.Load(dr)
If dt.Rows.Count = 0 Then
DataGridView1.DataSource = Nothing
Else
DataGridView1.DataSource = dt
End If
End
Using
End
Using
End
Using
ElseIf
ComboBox1.Text = "Nama Peserta" Then
Using
bbb As New
MySqlClient.MySqlCommand("select * from
Peserta where NamaPeserta like '%" & TextBox1.Text & "%' order by NamaPeserta", Conn)
CMD.CommandTimeout = 0
Using
dr As MySqlClient.MySqlDataReader = bbb.ExecuteReader()
Using
dt As New
DataTable
dt.Load(dr)
If dt.Rows.Count = 0 Then
DataGridView1.DataSource = Nothing
Else
DataGridView1.DataSource = dt
End If
End
Using
End
Using
End
Using
End If
End Sub
End Class
6. Jalankan Program
Catatan: jika menggunakan SQL Server ganti MYSQL menjadi SQL
No comments:
Post a Comment