Update data pada Datalist ~ .:: Koding::..

22.6.07

Update data pada Datalist

Mohon maaf jika yang membaca postingan saya ini cukup panjang, ya maklum saya juga males nge-upload filenya ke rapidshare ato web file sharing yang lainnya gt. Kan disini saya cukup paste saja gt kodenya :D.
Database:

CREATE TABLE [dbo].[testing] (
[dataId] [int] IDENTITY (1, 1) NOT NULL ,
[cek] [bit] NOT NULL ,
[nama] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
) ON [PRIMARY]
GO

HTML Code :

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="datalist.aspx.vb" Inherits="datalist" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="DataList1" runat="server" OnUpdateCommand="DataList_UpdateCommand" DataKeyField="dataId" DataSourceID="SqlDataSource1">
<ItemTemplate>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td>
Cek Hadir
</td>
<td>
Nama Anggota
</td>
<td>
</td>
</tr>
<tr>
<td>
<asp:HiddenField ID= "tbxDataId" runat="server" Value='<%# DataBinder.Eval(Container.DataItem, "dataId") %>'/>
<asp:CheckBox ID="cbxCheck" runat="server" Text="Hadir ?" Checked='<%# DataBinder.Eval(Container.DataItem, "cek")%>' />
</td>
<td>
<asp:Label ID="lblName" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "nama") %>'></asp:Label><br />
</td>
<td>
<asp:LinkButton ID="lnkUpdate" runat="server" Text="Update" CommandName="Update"></asp:LinkButton>
</td>
</tr>
</table>
</ItemTemplate>
</asp:DataList>
<asp:SqlDataSource ID="SqlDataSource1" ConnectionString='<%$ ConnectionStrings:LocalSQLserver %>'
runat="server" ProviderName="System.Data.SqlClient" SelectCommand="SELECT testing.* FROM testing"
UpdateCommand="UPDATE testing SET cek = @cek WHERE (dataId = @dataId)">
<UpdateParameters>
<asp:Parameter Name="cek" />
<asp:Parameter Name="dataId" />
</UpdateParameters>
</asp:SqlDataSource>
</div>
</form>
</body>
</html>

VB Code:

Partial Class datalist
Inherits System.Web.UI.Page

Protected Sub DataList_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.UpdateCommand
Dim tbxDataId As String = CType(e.Item.FindControl("tbxDataId"), HiddenField).Value
Dim cbxCheck As String = CType(e.Item.FindControl("cbxCheck"), CheckBox).Checked

SqlDataSource1.UpdateParameters("dataId").DefaultValue = tbxDataId
SqlDataSource1.UpdateParameters("cek").DefaultValue = convert(cbxCheck)
SqlDataSource1.Update()
DataList1.DataBind()
End Sub
Private Function convert(ByVal input As String) As Integer
Dim out As Integer = Nothing
If input = "False" Then
out = 0
Else
out = 1
End If
Return out
End Function
End Class

No comments: