( 9 ) 添加删除按钮。 单击【确定】按钮返回到【数据网络】对话框中。单击【 + 】按钮,在弹出的快捷菜单中选择【‘删除'按钮】菜单项,在弹出的【删除按钮列】对话框中设置标题为“删除”,其他设置如图 83-7 所示。

( 10 )删除代码。选择“ ByGrid ”数据网络,切换到代码视图,找到如图 83-8 中圆角方框所示的代码,将其删除。

提示: 由于“ ByGrid ”数据网络的数据源是临时表格(该表将在后面的操作中介绍),而不是“ ByData ”数据集,所以应该将定义数据源的代码删除,之后再在程序中定义其数据源。
( 11 )在“ ByGrid ”数据网络的源代码中找到如下所述的代码。
<asp:ButtonColumn
ButtonType="LinkButton"
CommandName="Delete"
HeaderText=" 删除 "
Text=" 删除 "
Visible="True"/>
在上面的代码之前插入代码
<asp:BoundColumn DataField="CPSUM" HeaderText=" 小计 ( 元 )" DataFormatString="{0:c}"/>
(读者可打开【光盘】|【源文件】|【实例 83 】|【 83.1a .txt 】文件,直接复制)
如图 83-9 中圆角方框所示。

提示:该代码其实就是在“ ByGrid ”数据网络中添加一个简单的数据字段,其字段是临时表中的字段“ CPSUM ”,标题为“小计”。代码中的 DataFormatString="{0:c}" 用来定义其显示格式为货币形式。
步骤二 购物车的程序开发
( 1 )删除数据集。切换到设计视图,在【服务器行为】面板中选择“ ByData ”数据集,单击【—】按钮,将“ ByData ”数据集删除。
提示:“ ByData ”数据集用于在 Dreamweaver 中添加数据网络。前面也说过,“ ByGrid ”数据网络的数据源是临时表格,而不是“ ByData ”数据集,所以应将其删除。
( 2 )添加命名空间及 <script runat="server"> 。切换到代码视图,添加“ System.Data ”和“ System.Data. OleDb ”命名空间,并添加服务器脚本 <script runat="server"> ,定义“ DataTable ”对象的全局变量“ Cptb ”,定义“ DataView ”对象的全局变量“ Cpview ”,如图 83-10 中圆角方框所示。

( 3 )定义“ CrCpdatatable ”过程,该过程用于建立购物车临时表格,其代码如下所述。
Sub CrCpdatatable()
Cpbt = New DataTable()
Cpbt.Columns.Add(new DataColumn("CPID",GetType(String)))
Cpbt.Columns.Add(new DataColumn("CPNAME",GetType(String)))
Cpbt.Columns.Add(new DataColumn("CPDJ",GetType(single)))
Cpbt.Columns.Add(new DataColumn("SL",GetType(Int32)))
Cpbt.Columns.Add(new DataColumn("CPSUM",GetType(double)))
End Sub
(读者可打开【光盘】|【源文件】|【实例 83 】|【 83.1b.txt 】文件,直接复制)
程序说明:
该代码主要为“ Cptb ”定义 5 列数据,一列字段为“ CPID ”,即产品编号,数据类型为字符串;一列字段为“ CPNAME ”,即产品名,数据类型为字符串;一列字段为“ CPDJ ”,即产品单价,数据类型为单精度;一列字段为“ SL ”,即数量,数据类型为整形;一列字段为“ CPSUM ”,即合计,数据类型为双精度;“ Cptb ”临时表格是当用户第一次将商品添加到购物车中时建立的,而且仅仅用一次。
( 4 )定义“ AddCpby ”过程,用于当客户在首页“ index.aspx ”中单击产品展示的【购买】按钮时,将产品添加到购物车中,该代码如下所述。
Sub AddCpbt()
Dim cpConn,Cpstring AS String
Dim conn AS OleDbConnection
Dim Cpadapter AS OleDbDataAdapter
Dim Cpdat AS DataSet
Dim dt AS DataTable
cpConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.MapPath ("dat/dwdat.mdb")
conn = New OledbConnection(cpConn)
Cpstring = "SELECT CPID,CPNAME,CPDJ from DreamweaverCP WHERE CPID='" &Trim(Request.QueryString("CPID")) & "'"
Cpadapter = new OleDbDataAdapter(Cpstring,conn)
Cpdat = New DataSet()
Cpadapter.Fill(Cpdat,"DreamweaverCP")
dt = Cpdat.Tables("DreamweaverCP")
Dim dr As DataRow = Cpbt.NewRow()
dr(0) = dt.Rows(0)("CPID")
dr(1) = dt.Rows(0)("CPNAME")
dr(2) = dt.Rows(0)("CPDJ")
dr(3) = 1
dr(4) = dr(2) * dr(3)
Cpbt.Rows.Add(dr)
End Sub
(读者可打开【光盘】|【源文件】|【实例 83 】|【 83.2.txt 】文件,直接复制)
程序说明:
由于这里要链接的数据库为 Access ,所以要用“ OleDbConnection ”作为数据库链接对象;临时表“ Cpdat ”要定义 5 列数据,那么定义“ dr ”为“ Cpdat ”新行的对象后,“ dr ”也就包含了 5 列数据,分别为“ dr ” 5 列数据定义其数据值,再将一行数据添加到临时表“ Cpdat ”中;有关 ASP.NET 对象的知识可参考 ASP.NET 的书。
| 共分3页 [1] [2] [3] |
关于网站 | 客服中心 | 服务条款 | 友情链接 | 广告联系 | 本站历程 | 网站导航
吉ICP备05000107号