Day 1,departure from syed kechik building at 8am by persiaran bus.It is my first time to pangkor n i can't wait 2 c the beauty of its sand.n yeah,i'm blogging in the bus!

:: Rintihan Seorang Pekerja Profesional

Aduh, minyak naik lagi,rungut aku yang sedang dalam perjalanan pulang dari tengah ibu kota ke pinggir ibu kota.Kena isi minyak cepat-cepat ni sebelum minyak naik tengah malam nih, bisik aku lagi.Aku mengharapkan agar berita kenaikan minyak ini adalah satu gossip sahaja tapi aku silap.Berduyun kereta beratur di stesen minyak macam semut menghurung gula.AH!, aku protes lalu meninggalkan stesen minyak kepunyaan negara itu.Tercari-cari aku stesen minyak namun semuanya full house.Takpalah, minyak ada lagi separuh,aku menyedapkan hati aku lalu terus pulang ke rumah.

Sampai sahaja di rumah, aku terus bertelepuk depan televisyen, menunggu siaran berita kroni pak lah jam 8 malam.Walaupun aku tahu besar kemungkinan berita yang disalurkan pasti berbaur 'kesedapan' pada telinga orang macam aku ini.Mmg dijangka, isu minyak menghiasi dada televisyen.Yang buat aku tertarik adalah nasihat pak lah supaya aku "UBAH GAYA HIDUP". Aku terpikir,macam mana ye aku nak ubah gaya hidup aku sekarang?. Aku pakai kereta buatan nasional yang bercc tak sampai 1000cc,aku menyahut seruan kerajaan untuk membeli kereta buatan Malaysia, lalu dengan sedikit kemampuan, aku belilah KANCIL,dari tahun 2003 sampai sekarang, aku masih setia menggunakan KANCIL, kemudian pak lah kata lagi "UBAH GAYA HIDUP", dengan gaji swasta macam aku, aku tidak mampu untuk menyewa kediaman di tengah-tengah bandar yang rata-ratanya mencecah seribu RM!, jadi aku terpaksa mencari rumah dipinggir kota yang sewa hanya RM400 sahaja.

"UBAH GAYA HIDUP", dulu aku ke tempat kerja bermotosikal, tetapi kerana aku sudah berkemampuan, aku berkereta, adakah aku perlu bermotosikal semula?macam mana aku hendak mengambil anak aku yang baru berusia 11 bulan dari rumah pengasuh? hendak didudukkan di bakul kah? hendak diikat di belakang aku kah?

"UBAH GAYA HIDUP", dulu aku makan nasi + sayur + ikan, harganya tak sampai RM3.oo tetapi oleh sebab minyak dah naik, jadi tauke kantin pun menaikkan harga makanan yang sama aku makan menjadi RM4.oo, itu tidak termasuk air, kerana aku minum air masak.Pak lah kata "UBAH GAYA HIDUP" jadi maknanya aku kena makan nasi + sayur jelah supaya bujet aku tidak melebihi RM3.00!.Huh, betapa aku berkorban selera aku untuk menyahut seruan pak lah tapi kadang-kadang aku terfikir jugak..pak lah pun ada "UBAH GAYA HIDUP" juga ke?

Jadi aku memikirkan cara bagaimana lagi aku harus ubah cara hidup.Duit pengasuh perlu dibayar, bil perlu dibayar, AHA!, adakah aku perlu menggunakan lilin? membasuh baju secara manual? memasak menggunakan kayu? hmm, lagi macam mana lagi cara ye nak "UBAH GAYA HIDUP?", tol naik, minyak naik, jadi apa kata aku gunakan pengangkutan awam?tapi aku baru teringat, dulu minyak naik RM0.30, pak lah kata duit lebih kurang 4 billion yang dapat jimat tu hendak diperuntukkan untuk naiktaraf pengangkutan awam, tapi orang macam aku tak nampak pun,ke aku yang rabun, pengangkutan di kajang masih macam itu juga, jalan masih jem, tol tetap jalan, komuter macam siput, tapi aku kena juga "UBAH GAYA HIDUP!"

Oleh sebab aku sayangkan negara ini dan pak lah pun pesan supaya janganlah berdemonstrasi jadi aku kena tekadkan azam supaya "UBAH GAYA HIDUP". dan aku berharap, orang-orang yang duduk selesa di kerusi parlimen turut "UBAH GAYA HIDUP", cuma terkesankah kempen ini? hanya ALLAH yang MAHA MENGETAHUI


I was having a problem when it comes to confirm the user before delete the row using the imagebutton in gridview. One of the problem is the delete event is fire twice, meaning to say that the row is deleted twice. Here is my original source code of the gridview

Original Source Code in HTML code

<asp:GridView ID="gvProd" runat="server" SkinID ="GridView" AllowPaging="True" PageSize="5"
AutoGenerateColumns="False" Width="461px" DataKeyNames ="PRODUCT_ID" OnRowDataBound ="gvProd_RowDataBound" >
<Columns >
<asp:TemplateField >
<ItemTemplate >
<%#Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField Visible ="False" ><ItemTemplate >
<asp:Label id="lblProdID" runat ="server" Text ='<%# DataBinder.Eval(Container, "DataItem.PRODUCT_ID") %>'></asp:Label>
</ItemTemplate></asp:TemplateField>
<asp:TemplateField Visible ="False" ><ItemTemplate >
<asp:Label id="lblProdCatID" runat ="server" Text ='<%# DataBinder.Eval(Container, "DataItem.PRODUCT_CATEGORY_ID") %>'></asp:Label>
</ItemTemplate></asp:TemplateField>
<asp:BoundField DataField="PRODUCT_NAME" HeaderText="Name"></asp:BoundField>
<asp:BoundField DataField="PRODUCT_CATEGORY_NAME" HeaderText="Category"></asp:BoundField>
<asp:BoundField DataField="FORMAT" HeaderText="Format"></asp:BoundField>
<asp:BoundField DataField="TYPE" HeaderText="Type"></asp:BoundField>
<asp:BoundField DataField="PRODUCT_PRICE" HeaderText="Price (RM)"></asp:BoundField>

<asp:TemplateField HeaderText ="Action" >
<ItemTemplate >
<asp:HyperLink runat="server" ID="hLink" Text ="Edit"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>

<asp:CommandField ShowDeleteButton="false" DeleteImageUrl ="~/images/delete.gif" />
<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton runat=server id="imgDelete" CommandName="Delete"
ImageUrl="~/images/delete.gif" CommandArgument='<%# DataBinder.Eval(Container,"RowIndex") %>' OnCommand="ImageButton1_Command" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
(thanks to the online code formatter written by Jean-Claude Manoli) and lvildosola.blogspot.com for directing me to this formatter

After googling for the answer, I managed to solve the problem by removing the OnRowDeleting="gvProd_RowDeleting" in the above code and adds the code for delete function in code behind as below

On RowBound

Protected Sub gvProd_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gvProd.RowDataBound
If (e.Row.RowType = DataControlRowType.DataRow) Then
Dim LnkEdit As HyperLink = CType(e.Row.FindControl("hLink"), HyperLink)
Dim lblProdID As Label = e.Row.FindControl("lblProdID")
Dim lblProdCatID As Label = e.Row.FindControl("lblProdCatID")
Cache("lblProdID") = lblProdID.Text
Cache("lblProdCatID") = lblProdCatID.Text
LnkEdit.NavigateUrl = "ProductManagements.aspx?action=editprod&ProdID=" & lblProdID.Text & "&CatID=" & lblProdCatID.Text
'Delete button
Dim imgDel As ImageButton = CType(e.Row.FindControl("imgDelete"), ImageButton)
imgDel.Attributes.Add("onclick", "javascript:return confirm ('You are about to delete " + DataBinder.Eval(e.Row.DataItem, "PRODUCT_NAME") + ".');")
End If
End Sub

On ImageButtonCommand

Protected Sub ImageButton1_Command(ByVal sender As Object, ByVal e As CommandEventArgs)
gvProd.DeleteRow(Int32.Parse(e.CommandArgument.ToString()))
End Sub

OnRowDeleting Command

Sub sbDeleteProds(ByVal ProdID)
Dim success As String = prodcat.fnDeleteProdByType(glb.Product, ProdID)
End Sub
Protected Sub gvProd_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles gvProd.RowDeleting
sbDeleteProds(Convert.ToInt32(gvProd.DataKeys(e.RowIndex).Values(0).ToString))
If Cache.Item("Adv") <> "" Then
BindData("Adv")
Else
BindData("Basic")
End If
End Sub

.....


and TAdaaaaa..finally it works for me and the row is deleted once.