Berikut adalah materi untuk pertemuan ke 4 ttg asp.net. Pada Week ini kita belajar bagaimana berinteraksi dengan database dan menampilkan hasil query di datagridcontrol. Sudah masuk juga disini materi bagaimana menambah dan menghapus data.
No |
Materi |
Sub Materi |
t |
note |
Link |
1 |
Data control |
sqlConnection |
10 |
Apa fungsinya?
Connect dengan database sql server |
|
|
|
sqlCommand |
10 |
Apa fungsinya?
Isikan connection dan buat query sederhana |
|
|
|
SqlDataAdapter |
5 |
Apa fungsinnya?
Isikan connection dan command yang telah dibuat diatas |
|
2 |
DataGrid |
Menampilkan data dari SqlCommand |
10 |
Data tampil saat page load.
Isikan sourcecode dari link disamping. |
select |
|
|
Mengubah-ubah tampilan |
5 |
Lewat klik kanan-property builder bagian format |
|
|
|
Membuat bentuk paging |
10 |
Masuk ke property builder bagian paging |
paging |
|
|
Membuat tabel berfilter |
15 |
Sebelumya buat dulu sqlCommand dengan query select berparameter.
Query dan source di link disamping. |
where |
|
|
Menambah record dan mengupdate datagrid |
15 |
Buat dengan 2 textbox. Buat SQLcommand baru dengan query insert berparameter.
Query dan source di link disamping. |
Insert |
|
|
menambahkan select dan tombol delete |
15 |
Coba juga untuk menambahkan column2 secara manual dengan bound column |
|
|
|
Mengambil nilai row terselect |
5 |
Di selectedindexchange:
TextBox2.Text = DataGrid1.SelectedItem.Cells(2).Text
à bisa dibuat untuk misal untuk menampilkan foto, menambah shopingcart |
|
|
|
Melakukan delete row |
10 |
Siapkan SqlCommand baru dengan query delete berparameter.
Query dan source di link disamping |
delete |
|
LATIHAN |
|
|
Membuat tabel sql sendiri misal mhs. Yg ada field foto untuk menyimpan url foto. Buat filter, insert, dan delete-nya. Plus menampilkan foto saat row diselect. |
|
|
DataList dan Repeater |
|
|
Datalist dan Repeater |
|
Menampilkan Data
Digunakan untuk sembarang query (tentu saja yg valid pada database-nya) dengan tanpa parameter atau berparameter yg diberi nilai default
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
SqlConnection1.Open()
Dim ds As New Data.DataSet
SqlDataAdapter1.Fill(ds)
DataGrid1.DataSource = ds
DataGrid1.DataBind()
End Sub
Code untuk Paging
Private Sub DataGrid1_PageIndexChanged(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEventArgs) Handles DataGrid1.PageIndexChanged
DataGrid1.CurrentPageIndex = e.NewPageIndex
DataGrid1.DataBind()
End Sub
Melakukan filtering data
Query pada sqlcommand diberi parameter misal :
SELECT * FROM products WHERE productname like @par1
Dengan update grid saat ditekan tombol dan parameter diisikan dari textbox
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
SqlConnection1.Open()
SqlCommand1.Parameters("@par1").Value = TextBox1.Text & "%"
SqlCommand1.Prepare()
Dim ds As New DataSet
SqlDataAdapter1.Fill(ds)
DataGrid1.DataSource = ds
DataGrid1.DataBind()
End Sub
Menambah record
Disiapkan query insert dengan parameter, misal :
insert into categories(CategoryName,Description) values(@name,@des)
insert dilakukan dengan klik button dan nilai2 field diambil dari textbox
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
SqlConnection1.Open()
'SqlCommand2.Parameters("@id").Value = TextBox2.Text
SqlCommand2.Parameters("@name").Value = TextBox3.Text
SqlCommand2.Parameters("@des").Value = TextBox4.Text
SqlCommand2.ExecuteNonQuery()
Dim ds As New DataSet
SqlDataAdapter1.Fill(ds)
DataGrid1.DataSource = ds
DataGrid1.DataBind()
End Sub
Menghapus record
Dibuat dulu command dengan query delete, misal :
delete from categories where categoryid=@id
ditambahkan button delete pada datagrid, dan masukkan kode delete dan refresh grid pada saat button tadi di klik
Private Sub DataGrid1_DeleteCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.DeleteCommand
Dim dg As DataGridItem = DataGrid1.Items(e.Item.ItemIndex)
SqlConnection1.Open()
SqlCommand3.Parameters("@id").Value = dg.Cells(0).Text
SqlCommand3.ExecuteNonQuery()
Dim ds As New DataSet
SqlDataAdapter1.Fill(ds)
DataGrid1.DataSource = ds
DataGrid1.DataBind()
End Sub
Datalist dan Repeater
Datalist dan repeater merupakan control lain yang sering digunakan untuk menampilkan data. Datagrid adalah control yang paling mudah dipakai tapi paling tidak customizable. Repeater kebalikannya, yang paling susah dipakai-nya tetapi sangat customizable. Sedang data list berada di tengah-tengah, cukup mudah pakainya dan cukup customizable.
Jika datagrid mengeluarkan template berupa seluruh table , datalist mengeluarkan template settingnya untuk setiap looping pada TR. jadi kita dapat customize untuk setiap row yang tergenerate saat looping di recordset. Sedangkan repeater tidak mengeluarkan template apa-apa, sehingga kita dapat leluasa menggunakan tag-tag HTML lain selain table, semisal dibentuk semalam list (OL atau UL)
Yang harus dilakukan saat menggunakan Listbox dan Repeater adalah kita ubah-ubah HTML-nya. Ada perbedaan penanganan cara untuk mengambil nilai field di datalist dan repeater. berikut adalah contoh modifikasi pada HTML untuk datalist dan repeater. Sebagai catatan, repeater memerlukan panel agar dapat ditempatkan secara absolut
<asp:DataList id="DataList1" style="Z-INDEX: 102; LEFT: 344px; POSITION: absolute; TOP: 24px"
runat="server" Width="240" Height="160">
<HeaderTemplate>
<td colspan="2">DAFTAR MAHASISWA</td>
</HeaderTemplate>
<ItemTemplate>
<td width="1px"><img width=50 height=50 src='<%#container.DataItem("foto")%>'></td>
<td width="100%"><%#container.DataItem("nrp")%><br>
<%#container.DataItem("nama")%>
</td>
</ItemTemplate>
</asp:DataList>
<asp:Panel id="Panel1" style="Z-INDEX: 103; LEFT: 32px; POSITION: absolute; TOP: 328px" runat="server"
Width="720px" Height="144px">
<asp:Repeater id="Repeater1" runat="server">
<HeaderTemplate>
daftar mahasiswa
<br>
<ol>
</HeaderTemplate>
<ItemTemplate>
<li><%# databinder.Eval(container.dataitem,"nama") %></li>
</ItemTemplate>
<FooterTemplate>
</OL>
</FooterTemplate>
</asp:Repeater>
</asp:Panel>
|
Kuliah TKI - Blog da...
mm Apparently, 21,000 boots imported by
Clas-class php yang ...
mm Apparently, 21,000 boots imported by
Kuliah TK Internet :...
mm Apparently, 21,000 boots imported by
The Power of GIS - U...
mm Apparently, 21,000 boots imported by
Kuliah TK Internet :...
mm Apparently, 21,000 boots imported by
JPGraph - membuat gr...
timberland - mm Apparently, 21,000 bo...
Kuliah TKI : Ajax - ...
mm Apparently, 21,000 boots imported by
Banner spesial untuk...
mm Apparently, 21,000 boots imported by