001.
<%@ Page Language=
"VB"
%>
002.
<%@ import
Namespace
=
"System.Data"
%>
003.
<%@ import
Namespace
=
"System.Data.OleDb"
%>
004.
<script runat=
"server"
>
005.
Dim
objConn
As
OleDbConnection
006.
Dim
objCmd
As
OleDbCommand
007.
Dim
strSQL
As
String
008.
009.
Sub
Page_Load(sender
As
Object
, e
As
EventArgs)
010.
Dim
strConnString
As
String
011.
strConnString =
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
&Server.MapPath(
"database/mydatabase.mdb"
)&
";"
012.
objConn =
New
OleDbConnection(strConnString)
013.
objConn.Open()
014.
015.
IF
Not
Page.IsPostBack()
Then
016.
BindData()
017.
End
IF
018.
End
Sub
019.
020.
Sub
BindData()
021.
strSQL =
"SELECT * FROM customer"
022.
023.
Dim
dtReader
As
OleDbDataReader
024.
objCmd =
New
OleDbCommand(strSQL, objConn)
025.
dtReader = objCmd.ExecuteReader()
026.
027.
028.
myDataGrid.DataSource = dtReader
029.
myDataGrid.DataBind()
030.
031.
dtReader.Close()
032.
dtReader =
Nothing
033.
034.
End
Sub
035.
036.
Sub
Page_UnLoad()
037.
objConn.Close()
038.
objConn =
Nothing
039.
End
Sub
040.
041.
Sub
modEditCommand(sender
As
Object
, e
As
DataGridCommandEventArgs)
042.
myDataGrid.EditItemIndex = e.Item.ItemIndex
043.
myDataGrid.ShowFooter =
False
044.
BindData()
045.
End
Sub
046.
047.
Sub
modCancelCommand(sender
As
Object
, e
As
DataGridCommandEventArgs)
048.
myDataGrid.EditItemIndex = -1
049.
myDataGrid.ShowFooter =
True
050.
BindData()
051.
End
Sub
052.
053.
Sub
myDataGrid_ItemCommand(source
As
Object
, e
As
DataGridCommandEventArgs)
054.
If
e.CommandName =
"Add"
Then
055.
056.
Dim
txtCustomerID
As
Textbox =
CType
(e.Item.FindControl(
"txtAddCustomerID"
),Textbox)
057.
058.
Dim
txtName
As
Textbox =
CType
(e.Item.FindControl(
"txtAddName"
),Textbox)
059.
060.
Dim
txtEmail
As
Textbox =
CType
(e.Item.FindControl(
"txtAddEmail"
),Textbox)
061.
062.
Dim
txtCountryCode
As
Textbox =
CType
(e.Item.FindControl(
"txtAddCountryCode"
),Textbox)
063.
064.
Dim
txtBudget
As
Textbox =
CType
(e.Item.FindControl(
"txtAddBudget"
),Textbox)
065.
066.
Dim
txtUsed
As
Textbox =
CType
(e.Item.FindControl(
"txtAddUsed"
),Textbox)
067.
068.
strSQL =
"INSERT INTO customer (CustomerID,Name,Email,CountryCode,Budget,Used) "
& _
069.
" VALUES ('"
& txtCustomerID.Text &
"','"
& txtName.Text &
"','"
& txtEmail.Text &
"' "
& _
070.
" ,'"
& txtCountryCode.Text &
"','"
& txtBudget.Text &
"','"
& txtUsed.Text &
"') "
071.
objCmd =
New
OleDbCommand(strSQL, objConn)
072.
objCmd.ExecuteNonQuery()
073.
074.
BindData()
075.
End
If
076.
End
Sub
077.
078.
Sub
modDeleteCommand(sender
As
Object
, e
As
DataGridCommandEventArgs)
079.
strSQL =
"DELETE FROM customer WHERE CustomerID = '"
&myDataGrid.DataKeys.Item(e.Item.ItemIndex)&
"'"
080.
objCmd =
New
OleDbCommand(strSQL, objConn)
081.
objCmd.ExecuteNonQuery()
082.
083.
myDataGrid.EditItemIndex = -1
084.
BindData()
085.
End
Sub
086.
087.
Sub
modUpdateCommand(s
As
Object
, e
As
DataGridCommandEventArgs)
088.
089.
Dim
txtCustomerID
As
Textbox =
CType
(e.Item.FindControl(
"txtEditCustomerID"
),Textbox)
090.
091.
Dim
txtName
As
Textbox =
CType
(e.Item.FindControl(
"txtEditName"
),Textbox)
092.
093.
Dim
txtEmail
As
Textbox =
CType
(e.Item.FindControl(
"txtEditEmail"
),Textbox)
094.
095.
Dim
txtCountryCode
As
Textbox =
CType
(e.Item.FindControl(
"txtEditCountryCode"
),Textbox)
096.
097.
Dim
txtBudget
As
Textbox =
CType
(e.Item.FindControl(
"txtEditBudget"
),Textbox)
098.
099.
Dim
txtUsed
As
Textbox =
CType
(e.Item.FindControl(
"txtEditUsed"
),Textbox)
100.
101.
strSQL =
"UPDATE customer SET CustomerID = '"
& txtCustomerID.Text &
"' "
& _
102.
" ,Name = '"
& txtName.Text &
"' "
& _
103.
" ,Email = '"
& txtEmail.Text &
"' "
& _
104.
" ,CountryCode = '"
& txtCountryCode.Text &
"' "
& _
105.
" ,Budget = '"
& txtBudget.Text &
"' "
& _
106.
" ,Used = '"
& txtUsed.Text &
"' "
& _
107.
" WHERE CustomerID = '"
& myDataGrid.DataKeys.Item(e.Item.ItemIndex) &
"'"
108.
objCmd =
New
OleDbCommand(strSQL, objConn)
109.
objCmd.ExecuteNonQuery()
110.
111.
myDataGrid.EditItemIndex = -1
112.
myDataGrid.ShowFooter =
True
113.
BindData()
114.
End
Sub
115.
116.
</script>
117.
<html>
118.
<head>
119.
<title>ThaiCreate.Com ASP.NET - DataGrid</title>
120.
</head>
121.
<body>
122.
<form id=
"form1"
runat=
"server"
>
123.
<asp:DataGrid id=
"myDataGrid"
runat=
"server"
AutoGenerateColumns=
"False"
124.
ShowFooter=
"True"
125.
DataKeyField=
"CustomerID"
126.
OnEditCommand=
"modEditCommand"
127.
OnCancelCommand=
"modCancelCommand"
128.
OnDeleteCommand=
"modDeleteCommand"
129.
OnUpdateCommand=
"modUpdateCommand"
130.
onItemCommand=
"myDataGrid_ItemCommand"
>
131.
132.
<Columns>
133.
134.
<asp:TemplateColumn HeaderText=
"CustomerID"
>
135.
<ItemTemplate>
136.
<asp:Label id=
"lblCustomerID"
runat=
"server"
Text=
137.
</ItemTemplate>
138.
<EditItemTemplate>
139.
<asp:TextBox id=
"txtEditCustomerID"
size=
"5"
runat=
"server"
Text=
140.
</EditItemTemplate>
141.
<FooterTemplate>
142.
<asp:TextBox id=
"txtAddCustomerID"
size=
"5"
runat=
"server"
></asp:TextBox>
143.
</FooterTemplate>
144.
</asp:TemplateColumn>
145.
146.
<asp:TemplateColumn HeaderText=
"Name"
>
147.
<ItemTemplate>
148.
<asp:Label id=
"lblName"
runat=
"server"
Text=
149.
</ItemTemplate>
150.
<EditItemTemplate>
151.
<asp:TextBox id=
"txtEditName"
size=
"10"
runat=
"server"
Text=
152.
</EditItemTemplate>
153.
<FooterTemplate>
154.
<asp:TextBox id=
"txtAddName"
size=
"10"
runat=
"server"
></asp:TextBox>
155.
</FooterTemplate>
156.
</asp:TemplateColumn>
157.
158.
<asp:TemplateColumn HeaderText=
"Email"
>
159.
<ItemTemplate>
160.
<asp:Label id=
"lblEmail"
runat=
"server"
Text=
161.
</ItemTemplate>
162.
<EditItemTemplate>
163.
<asp:TextBox id=
"txtEditEmail"
size=
"20"
runat=
"server"
Text=
164.
</EditItemTemplate>
165.
<FooterTemplate>
166.
<asp:TextBox id=
"txtAddEmail"
size=
"20"
runat=
"server"
></asp:TextBox>
167.
</FooterTemplate>
168.
</asp:TemplateColumn>
169.
170.
<asp:TemplateColumn HeaderText=
"CountryCode"
>
171.
<ItemTemplate>
172.
<asp:Label id=
"lblCountryCode"
runat=
"server"
Text=
173.
</ItemTemplate>
174.
<EditItemTemplate>
175.
<asp:TextBox id=
"txtEditCountryCode"
size=
"2"
runat=
"server"
Text=
176.
</EditItemTemplate>
177.
<FooterTemplate>
178.
<asp:TextBox id=
"txtAddCountryCode"
size=
"2"
runat=
"server"
></asp:TextBox>
179.
</FooterTemplate>
180.
</asp:TemplateColumn>
181.
182.
<asp:TemplateColumn HeaderText=
"Budget"
>
183.
<ItemTemplate>
184.
<asp:Label id=
"lblBudget"
runat=
"server"
Text=
185.
</ItemTemplate>
186.
<EditItemTemplate>
187.
<asp:TextBox id=
"txtEditBudget"
size=
"6"
runat=
"server"
Text=
188.
</EditItemTemplate>
189.
<FooterTemplate>
190.
<asp:TextBox id=
"txtAddBudget"
size=
"6"
runat=
"server"
></asp:TextBox>
191.
</FooterTemplate>
192.
</asp:TemplateColumn>
193.
194.
<asp:TemplateColumn HeaderText=
"Used"
>
195.
<ItemTemplate>
196.
<asp:Label id=
"lblUsed"
runat=
"server"
Text=
197.
</ItemTemplate>
198.
<EditItemTemplate>
199.
<asp:TextBox id=
"txtEditUsed"
size=
"6"
runat=
"server"
Text=
200.
</EditItemTemplate>
201.
<FooterTemplate>
202.
<asp:TextBox id=
"txtAddUsed"
size=
"6"
runat=
"server"
></asp:TextBox>
203.
<asp:Button id=
"btnAdd"
runat=
"server"
Text=
"Add"
CommandName=
"Add"
></asp:Button>
204.
</FooterTemplate>
205.
</asp:TemplateColumn>
206.
207.
<asp:EditCommandColumn ButtonType=
"LinkButton"
UpdateText=
"Update"
CancelText=
"Cancel"
EditText=
"Edit"
HeaderText=
"Modify"
></asp:EditCommandColumn>
208.
<asp:ButtonColumn Text=
"Delete"
CommandName=
"Delete"
HeaderText=
"Delete"
></asp:ButtonColumn>
209.
210.
</Columns>
211.
</asp:DataGrid>
212.
</form>
213.
</body>
214.
</html>