
恩和竹职业找术学院 项目七(下) 数据绑定控件
数据绑定控件 项目七(下)

圆和竹积业投术学院 目标 使用DataGrid显示数据库中的数据 ·使用DataGrid的模板列 ·选择、更新和删除DataGrid中的记录 2
2 目标 • 使用DataGrid显示数据库中的数据 • 使用DataGrid的模板列 • 选择、更新和删除DataGrid 中的记录

扫职业术学院 DataGrid控件概述 ASP.NET中的DataGrid控件用于以表格格式显示数据 工具箱 数据 web窗体 件派生自System.Web.Ul.NebControls..DataGrid类 4× l CrystalReportViewer WebForml.aspx+ Column0 Column1 Column2 id控件,可在Web窗体上拖放控 ▣DataGrid abc abc abc 者双击工具箱中的该控件 abc abc DropDownList abc abc abc 选项卡中的DataGrid控件如图所 组件 abc abc abc HTML abc 贴板循环 常规 口设计☐回HM Web窗体中的DataGrid控件如图所示
3 DataGrid 控件概述 ASP.NET 中的 DataGrid 控件用于以表格格式显示数据 DataGrid 控件派生自System.Web.UI.WebControls.DataGrid 类 工具箱的“Web 窗体”选项卡中的 DataGrid 控件如图所 示 要使用 DataGrid 控件,可在 Web 窗体上拖放控 件或者双击工具箱中的该控件 Web 窗体中的 DataGrid 控件如图所示

圆和学职业拔术学院 为DataGrid控件绑定数据2-l 步骤 打开VS.NET集 控 选择ASP.NET应用程序, 成开发环境 然后为项目命名 须将它绑定 到个双店原 使用D 拖放DataAdapter组件 ftac 将此网页重命名为 DataGridDemo.aspx 然后用Datamvemver偶性指定安亚示时效掂际 完成“数据适配器配 置向导”中的步骤 指定SQL服务器,并选择列 将DataGrid控件添加到 选择“生成数据集”,然后 Web窗体 给定合适的名称 将DataGrid重命名为 在dgDisplay的“属性”窗▣中 选择DataSource和 dgDisplay DataMember
4 为 DataGrid 控件绑定数据 2-1 • 要在 DataGrid 控件中查看数据,必须将它绑定 到一个数据源 • 使用 DataSource 属性为 DataGrid 指定数据源, 然后用 DataMember 属性指定要显示的数据源 中的表 打开 VS.NET 集 成开发环境 选择 ASP.NET 应用程序, 然后为项目命名 将此网页重命名为 DataGridDemo.aspx 拖放 DataAdapter 组件 完成“数据适配器配 置向导”中的步骤 选择“生成数据集”,然后 给定合适的名称 将 DataGrid 控件添加到 Web 窗体 将 DataGrid 重命名为 dgDisplay 在 dgDisplay 的“属性”窗口中 选择 DataSource 和 DataMember 步骤 指定 SQL 服务器,并选择列

恩南宁职业找术学航 为DataGrid控件绑定数据2-2 屈性 输出结果 dgDisplay em.Web.UI.WebControls.DataGrid 题 DataGridDemo-Microsoft Internet Explor 文件E日 编)网址份)查看收《A工具D帮助 日卧配 ∥填方 ←后退·→·⊙回@ 地址D自ktp:caosjaspexCH 此属性指定唯一标识表中给定行的列 SqlDa ,TU0 nsners万 ∥填充 pub id pub name city state country 0736 New Moon Books Boston MA USA dgDis 0877 Binnet Hardley Washington DC USA 1389 Algodata Infosystems Berkeley CA USA 1622 Five Lakes Publishing Chicago USA 1756 Ramona Publishers Dallas USA 单元格内 9901 Dreamz Books Moscow Moscow 9952 Scootney Books New York NY USA 9999 Lucerne Publishing Paris France 页面 名
5 DataGrid 的外观现在已更改,显示出表 publishers 中的列名 定义数据源后,应将以下两行代码添加到页面 的 Load 事件,然后填充DataGrid 为 DataGrid 控件绑定数据 2-2 DataGrid // 填充数据集 SqlDataAdapter objSqlDataAdapter.Fill(dsPublishers,"Publishers"); // 填充数据网格 dgDisplay.DataBind(); 输出结果 此属性指定唯一标识表中给定行的列

图 和吖职业投术学院 设置页眉和页脚 使用“属性生成器”对话框指定各列的页脚文本和页眉文本 输出结果 Display烂性 DataGridDemo-Microsoft Internet Explorer 文件E编益E同址包查看仙收流(工具①帮助心 按 后调 ·→·。团公司搜索白收常夹分媒体子马·合回目红 地t址D③Mp:ocao/pexCH8/DataGridDemo.dspx 习◇转到链接” 出版商编号出版商名称 城市 地区国家 0736 New Moon Books Boston MA USA 087 Binnet Hardley Berkeley 9901 9952 Scootney Books New York NY USA Lucerne Publishing Paris France 度本地1 ntranet 确定☐取浦应用(帮勋 属性生成器
6 设置页眉和页脚 可使用“属性生成器”对话框设置 DataGrid 的页眉和页脚 属性生成器 使用“属性生成器”对话框指定各列的页脚文本和页眉文本 输出结果

园和灯职业找术学院 数据格式表达式 设置格式表达 口右击q织#选择检犀性生盛器”由异云的物据 口选择数据格式落六于翁的剂如心 ▣x 细 口指定格式表达式·⊙回公@搜素白收意夹骨媒体的昌·」国目” (D)http://localhost/aspex/CH8/DataFormatting.aspx ⊙转到链接” stor_idord num ord date title id 63806871 1994年9月14日 Net 60 BU1032 6380722a 1994年9月13日 3 Net 60 PS2091 7066 A2976 1993年5月24日 50 Net 30 PC8888 7066 QA7442.3994年9月13日 75 ON invoice PS2091 格式表达式设置为0:D}2 1994年9月14日 10 Net 60 PS2091 1992年6月15日 40 Net 30 TC3218 7067P2121 1,992年6月15日 20 Net 30 TC4203 完毕
7 数据格式表达式 使用数据格式表达式格式化 DataGrid 中显示的数据 mm/dd/yyyy dd/mm/yyyy 格式表达式的作用 格式化数据 ❑右击 Datagrid,选择“属性生成器” ❑选择数据格式表达式中给出的列 ❑指定格式表达式 格式表达式设置为{0:D} 设置格式表达式

恩南宁职业找末学航 模板列3-1 通过十 上》王4土册”列,可 此时显示如图所示的模板编辑器 DataGridDemo.aspx 查若mL潭dDisplay-Column5]-注册@ 注册 a切) HeaderTemplate a复制g) ItemTemplate 款粘为行m复 除) 生使性式停 口国在浏览器中查看 香若宝口前知 查看代码C) FooterTemplate 同步文挡大钢C 目动套用格式 属性生成器). dsPublishers1 编辑模板4) 口设 模板编辑器☐
8 模板列 3-1 “模板”列允许组合使用HTML 控件和服务器控件设计列的自定义布局 模板只针对特定的列,不能应用于自动生成的列中 第 1 列 第 2 列 通过右击 DataGrid 并选择“编辑模板”,再选择“注册”列,可 此时显示如图所示的模板编辑器 将 Checkbox 控件添加到“模板”列 模板编辑器

园和宁职业发术学院 模板编辑器显示模募板貗絕2 。HDataGrid现在于“注册”列的各行中显示一个复选框 此偶性获取攻定的保仅用于疋义保仅列时页眉 ·Item Template daDisplay-Columns[5]-注册① 此最筒翰荨 出版商名称 城市地区 蒙娃霸中选定 的abc abc abc abc abc ·E(abc abc abc abcabc 6 abc abc abc abc abc 此abc abc abc abcabc 的数 拒abc abc abc abc abc F老锶.vpS 此属性获取或设定的模板用于定义模板列的页脚
9 • HeaderTemplate 此属性获取或设定的模板用于定义模板列的页眉 • ItemTemplate 此属性获取或设定的模板用于显示模板列中选定 的项 • EditItemTemplate 此属性获取或设定的模板用于编辑模板列中的数 据项 • FooterTemplate 此属性获取或设定的模板用于定义模板列的页脚 将一个复选框拖放到 ItemTemplate 框中 DataGrid 现在于“注册”列的各行中显示一个复选框 模板编辑器显示模板列的四个属性 模板列 3:-2

圆和学职业拔术学院 模板列3-3 确定publishers是否注册的用户自定义函数 DataGridDemo-Microsoft Internet Explorer ▣ 文件E编辑但网址⑧查看仙收减(©)工具①帮助山 细 +后退·→·⊙团公@搜素臼收藏夹守媒体幻卧,昌曰目钱 public bool IsRegistered(string country) > 9901 Dreanz Books 9952 Scootney Books New York NY USA Lucerne Publishing Paris France 完毕 s本地Intranet 将数据绑定到模板列 10
10 复选框的选定状态由 IsRegistered() 返回的布尔值决定 模板列 3-3 public bool IsRegistered(string country) { if(country == "USA") return true; return false; } 在复选框容器中调用 IsRegistered() '> 将数据绑定到模板列 确定 publishers 是否注册的用户自定义函数