Kebanyakan untuk form entry data/input data biasanya menggunakan control yang telah disediakan seperti TextBox dan lainnya, dari control tersebut kita isikan data sesuai dengan kebutuhan program, lalu bagaimana jika kita menggunakan atau Entry data melalui Grid lebih tepatnya GridControl.
Jika kita berbelanja ke supermarket atau toko yang sudah menggunakan komputer (terutama sudah berbasis windows/GUI) maka perhatikan program yang digunakan oleh toko (kasir) tersebut, biasanya mereka langsung menggunakannya dalam bentuk grid. Kita akan mencoba dasar dari input dalam grid, dalam artikel ini tidak disertakan bagaimana cara save hasil input kedalam database, tapi bagaimana membuat GridControl agar bisa digunakan untuk entry data tersebut.
Baiklah, mari kita mulai dengan New Project, namakan sesuai dengan keinginan anda, setelah selesai maka akan muncul form1, tambahkan SimpleButtom dan GridControl kedalam form1.
Saya jelaskan mengenai properties di dalam gridcontrol ini, karena disini adalah titik yang paling vital bagaimana gridcontrol digunakan. Masuklah kedalam Run Designer, sehingga anda masuk kedalam Properties GridView1. Properties yang paling penting adalah sbb:
View
1. OptionsBehavior
AllowAddRows = True ' Agar GridView bisa untuk menambahkan row/baris baru
2. OptionsNavigation
EnterMoveNextColumn =True ' Jika anda tekan enter maka langsung ke colum berikutnya
3. OptionsView
ColumnAutoWidth = False
NewItemRowPosition = Bottom ' tambahkan row baru di posisi bawah
Columns
Tambahkan 4 GridColumn, kemudian isikan untuk masing masing properties gridcolum sebagai berikut :
1. GridColumn1
Caption--> Cust Id ' Keterangan di Header Column
FileName --> custid ' nama field di database Warning : jgn sampai salah
ColumnEdit -- > RepositoryItemTextEdit1 ' pilih TextBox
2. GridColumn2
Caption--> Nama ' Keterangan di Header Column
FileName --> nama ' nama field di database Warning : jgn sampai salah
ColumnEdit -- > RepositoryItemTextEdit2 ' pilih TextBox
3. GridColumn3
Caption--> Jumlah Hutang ' Keterangan di Header Column
FileName --> hutang ' nama field di database Warning : jgn sampai salah
ColumnEdit -- > RepositoryItemTextEdit2 ' pilih TextBox
DisplayFormat --> Format String = {0:n2}
FormatType : Numerik
EditFormat --> Format String = {0:n2}
FormatType : Numerik
Mask --> EditMask = n2
MaskType = Numeric
SaveLiteral = False
ShowPlaceHolder = False
UseMaskAsDsiplayFormat = True
4. GridColumn4
Caption--> Jatuh Tempo ' Keterangan di Header Column
FileName --> tgl_jatuhtempo ' nama field di database Warning : jgn sampai salah
ColumnEdit -- > RepositoryItemDateEdit1 ' pilih DateEdit
DisplayFormat --> Format String = dd MMM yyyy
FormatType : DateTime
EditFormat --> Format String = dd MMM yyyy
FormatType : DateTime
Mask --> EditMask = dd MMM yyyy
MaskType = DateTime
SaveLiteral = False
ShowPlaceHolder = False
UseMaskAsDsiplayFormat = True
Nah kita telah selesai untuk hal yang pentingnya, sekarang kita buat TableOnTheFly
Private Sub TableOnTheFlay()
Dim col1 As New DataColumn("custid", GetType(System.String))
col1.AllowDBNull = False
Dim col2 As New DataColumn("nama", GetType(System.String))
col2.AllowDBNull = True
Dim col3 As New DataColumn("hutang", GetType(System.Decimal))
col3.AllowDBNull = True
Dim col4 As New DataColumn("tgl_jatuhtempo", GetType(System.DateTime))
col4.AllowDBNull = True
dtHutang = Nothing
dtHutang = New DataTable("Hutang")
dtHutang.Columns.Add(col1)
dtHutang.Columns.Add(col2)
dtHutang.Columns.Add(col3)
dtHutang.Columns.Add(col4)
GridControl1.DataSource = Nothing
GridControl1.DataSource = dtHutang
End Sub
Dim col1 As New DataColumn("custid", GetType(System.String))
buat colum1 dengan nama col1 dan namafile adalah custid, jika anda perhatikan custid ini sama dengan FileName yang ada di gridcolumn1 (Wajib sama ya....) dan typenya adalah String
begitu terusnya untuk colum2 dan sampai 4
col1.AllowDBNull = False
col1 ini tidak boleh Null alias wajib diisi ....
sekarang anda masuk ke ViewCode pada form1 kemudian isikan seperti ini :
Public Class Form1
Inherits System.Windows.Forms.Form
Public con As New OleDb.OleDbConnection
Dim dtTable As DataTable
Dim dtHutang As DataTable
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Try
TableOnTheFlay()
Catch ex As Exception
Exit Sub
End Try
End Sub
Private Sub TableOnTheFlay()
Dim col1 As New DataColumn("custid", GetType(System.String))
col1.AllowDBNull = False
Dim col2 As New DataColumn("nama", GetType(System.String))
col2.AllowDBNull = True
Dim col3 As New DataColumn("hutang", GetType(System.Decimal))
col3.AllowDBNull = True
Dim col4 As New DataColumn("tgl_jatuhtempo", GetType(System.DateTime))
col4.AllowDBNull = True
dtHutang = Nothing
dtHutang = New DataTable("Hutang")
dtHutang.Columns.Add(col1)
dtHutang.Columns.Add(col2)
dtHutang.Columns.Add(col3)
dtHutang.Columns.Add(col4)
GridControl1.DataSource = Nothing
GridControl1.DataSource = dtHutang
End Sub
Private Sub SimpleButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SimpleButton1.Click
Try
Me.Close()
Application.Exit()
Catch ex As Exception
Exit Sub
End Try
End Sub
End Class
jalankan program dengan menekan tombol F5, maka akan tampak seperti ini :
coba anda input, kemudian tekan enter.....
happy coding...
Salam
Mantab gan untuk tutsnya... nih inputnya ke database kalo gak salah nanti dikanan pol dari baris ada button save dan cancel untuk action input.. ane nyari2 yg sperti ini gan.. :D
ReplyDeletetanya gan..
kalo gni gan ketika saya menambahkan misal 5 data kedalam tabel.. trus ada button save untuk me-loop ke-5 data dalam GridControl tuh gimana gan untuk deteksi row 1 - 5 untuk di masukkan semuanya.. hampir sama kan gann..
makasih gann bimbingannya.. :D
oh iya...
ReplyDeleterencananya dari sini memang akan saya sambungkan ke kedatabase untuk disimpan... jadi saya berikan dasarnya dulu, kalau dasarnya kuat, nanti mudah untuk selanjutnya..
kalo untuk meloop slruh data yg ada di grid buat di add.. parameter perbarisnya gmna gan?? beri sdikit code.. trimakasihh.. misal
ReplyDeleteFor i = 0 To gridview(jmlRow)
.addWoItems(i, item)
Next