版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章数据绑定技术教学目标教学重点教学过程第1页2023年2月1日第2页教学目标通过本章的学习,应掌握常用Web控件的数据绑定方法第3页教学重点掌握常用Web控件的数据绑定第4页教学过程讲解绑定到简单数据源和复杂的数据源讲解Web控件的数据绑定方法【随堂演练】巩固学习成果所谓数据绑定(databinding),就是把数据源中的数据提取出来,显示在窗体的各种控件上。用户可以通过这些控件查看和修改数据,这些修改会自动保存到数据源中DataBind包括三大方法,Repeater,DataList和DataGrid,这些控件都位于System.Web.UI.WebControls
命名空间中,从WebControl
基类中直接或间接派生出来的。这些方法都是通过HTML来显示数据的内容。58.1概述在Windows窗体中有两种数据绑定类型:简单绑定和复杂绑定。简单绑定是将一个用户界面元素(控件)的属性绑定到一个类型(对象)实例上的某个属性的方法。例如,如果一个开发者有一个Customer类型的实例,那么他就可以把Customer的“Name”属性绑定到一个TextBox的“Text”属性上。“绑定”了这2个属性之后,对TextBox的Text属性的更改将“传播”到Customer的Name属性,而对Customer的Name属性的更改同样会“传播”到TextBox的Text属性。Windows窗体的简单数据绑定支持绑定到任何public或者internal级别的.NETFramework属性。复杂数据绑定是把一个基于列表的用户界面元素(比如ComboBox、Grid)绑定到一个数据实例列表(比如DataTable)的方法。和简单数据绑定一样,复杂数据绑定通常也是用户界面元素发生改变时传播到数据列表,数据列表发生改变时传播到用户界面元素。Windows窗体复杂数据绑定支持绑定到那些支持IList接口(或者是IEnumerable接口,如果使用的是BindingSource组件的话)的数据列表。68.1概述所有的DataBind都应该用DataBind()函数来建立数据绑定,是整个页面PAGE和所有控件的一个方法,也就是说,他可以被所有的控件使用,你建立数据绑定的时候,DataBind可以作为控件的一个子项,比如DataList1.DataBind(),再比如Page.DataBind(),会绑定整个页面。DataBind
常在页面载入时就被绑定。Page.DataBind
或Control.DataBind
方法使用方式很相似。主要差别在于:调用Page.DataBind
方法后,所有数据源都将绑定到它们的服务器控件。在显式调用Web服务器控件的DataBind
方法或在调用页面级的Page.DataBind
方法之前,不会有任何数据呈现给控件。通常,可以从Page_Load
事件调用Page.DataBind(或DataBind)。78.1概述Web控件绑定到数据源语法:
<%#DataSource%>说明:<%#%>
内联标记用于指示将把特定数据源中的信息放在.aspx
页中的什么位置。以下数据绑定示例使用TextBoxWeb服务器控件<asp:textboxid=txttext=“<%#custID%>"runat=server/>DataSource可以是变量、表达式、属性、列表、数据集、视图等调用控件的DataBind()实现绑定,如:
voidPage_Load(objectsender,EventArgse)
{Page.DataBind();//Page对象的DataBind方法}DataBind()方法通常是在数据源中数据更新后调用,用于同步数据源和数据控件中的数据,使得数据源中的任何更改都可以在数据控件中反映出来。88.1概述简单的数据源包括变量、表达式、集合、属性等绑定到变量基本语法:<%#简单变量%>绑定到表达式基本语法:<%#表达式
%>绑定到集合基本语法:<%#简单集合%>数据源是集合的如数组、DataTable对象等。绑定到方法的结果基本语法:<%#方法([参数])%>98.2绑定到简单的数据源绑定到变量:<%#简单变量%>(示例:/8.2/8.2.1/Default.aspx)<head> <scriptlanguage="c#"runat="server">strings_ID="10001";strings_name="Lucy";voidPage_Load(objectsender,EventArgse) {Page.DataBind();}
</script></head><body><formid="form1"runat="server"><b><%#s_ID%><br><%#s_name%></form></body>108.2绑定到简单的数据源绑定到表达式:<%#表达式%>(前台代码:/8.2/8.2.2/Default.aspx)<formid="form1"runat="server">
<%#number%>+20=<%#number+20%></form>(后台代码:/8.2/8.2.2/Default.aspx.cs)publicpartialclass_Default:System.Web.UI.Page
{
protectedintnumber=1000;
protectedvoidPage_Load(objectsender,EventArgse){
DataBind();}}118.2绑定到简单的数据源绑定到集合:<%#简单集合%>如果绑定的数据源是一个集合,如数组、DataTable对象等,那么需要把这些数据绑定到支持多值绑定的Web控件上。(前台代码:/8.2/8.2.3/Default.aspx)<formid="form1"runat="server"><asp:DataGridID="myDG"
DataSource=<%#myData%>runat=server/></form>128.2绑定到简单的数据源绑定到集合:<%#简单集合%>(后台代码:/8.2/8.2.3/Default.aspx.cs)publicpartialclass_Default:System.Web.UI.Page
{protectedArrayList
myData=newArrayList();protectedvoidPage_Load(objectsender,EventArgse){
myData.Add("苹果");
myData.Add("香蕉");
myData.Add("桔子");
myData.Add("西瓜");
myDG.DataBind();
}}138.2绑定到简单的数据源绑定到方法的结果:<%#方法([参数])%>很多情况下,在控件显示数据之前需要经过复杂的处理和加工。通过定义方法先对数据进行复杂的处理,然后把控件绑定到返回处理结果的方法,就可以了。(前台代码:/8.2/8.2.4/Default.aspx)<formid="form1"runat="server"><asp:DataListID="myList"runat=server><ItemTemplate>数字:<%#Container.DataItem%>
//DataList的资料容器永远都是Container.DataItem
正负:<%#IsPositiveOrNegative((int)Container.DataItem)%></ItemTemplate></asp:DataList></form>148.2绑定到简单的数据源绑定到方法的结果:<%#方法([参数])%>(后台代码:/8.2/8.2.4/Default.aspx.cs)
protectedArrayList
myData=newArrayList();protectedvoidPage_Load(objectsender,EventArgse){myData.Add(-1);myData.Add(2);myData.Add(0);
myList.DataSource=myData;
myList.DataBind();}protectedstringIsPositiveOrNegative(intnumber){if(number>0) return"正数";elseif(number<0)return"负数";else return"零";}158.2绑定到简单的数据源复杂的数据源有DataView、DataSet和各种数据库等绑定到DataView绑定到DataSet:绑定到DataSet对象的数据源可以是数据库、XML文档、界面输入等。绑定到数据库:首先创建连接到数据库的Connection对象和执行SQL语句的Command对象,然后执行Command对象的ExecuteReader方法,并把控件绑定到ExecuteReader方法返回的结果。168.3绑定到复杂的数据源绑定到DataView:DataView对象表示对Dataset中的数据表的一种查看方式。系统默认的方式是将数据以表格的形式排列,并且数据是根据从数据表中读取数据时行排列的顺序排列的。DataView可以实现对DataTable的可绑定数据的自定义视图,使其具有排序、过滤、搜索、编辑和导航的功能。(前台代码:/8.3/8.3.1/Default1.aspx)<formid="form1"runat="server"><asp:DataGrid
ID="DataGrid1"runat="server"HeaderStyle-BackColor="#aaaadd"></asp:DataGrid></form>178.3绑定到复杂的数据源绑定到DataView:(后台代码:/8.3/8.3.1/Default1.aspx.cs)DataTable
dt=newDataTable();DataRow
dr;dt.Columns.Add(new
DataColumn("列号",typeof(Int32)));dt.Columns.Add(new
DataColumn("项目",typeof(string)));dt.Columns.Add(new
DataColumn("日期",typeof(DateTime)));dt.Columns.Add(new
DataColumn("布尔值",typeof(bool)));for(inti=1;i<=9;i++){ dr=dt.NewRow(); dr[0]=i; dr[1]="Item"+i.ToString(); dr[2]=DateTime.Now; dr[3]=(i%2!=0)?true:false;
dt.Rows.Add(dr);}
DataGrid1.DataSource=newDataView(dt);
DataGrid1.DataBind();188.3绑定到复杂的数据源绑定到DataSet:绑定到DataSet对象的数据源可以是数据库、XML文档、界面输入等。(前台代码:/8.3/8.3.2/Default.aspx)<formid="form1"runat="server"><asp:DataGrid
ID="myDG"runat="server"HeaderStyle-BackColor="#aaaadd"></asp:DataGrid></form>198.3绑定到复杂的数据源绑定到DataSet::(后台代码:/8.3/8.3.2/Default.aspx.cs)publicpartialclass_Default:System.Web.UI.Page
{privateDataSet
myDS=newDataSet();protectedvoidPage_Load(objectsender,EventArgse){ if(!Page.IsPostBack){stringstrSQL="select*fromstudent";stringconnStr="DataSource=localhost;UID=sa;Pwd=123; InitialCatalog=student";SqlConnection
Conn=newSqlConnection(connStr);SqlDataAdapter
myAdapter=newSqlDataAdapter(strSQL,Conn);Conn.Open();
myAdapter.Fill(myDS,"students");
myDG.DataSource=myDS;
myDG.DataBind();
Conn.Close();}}}208.3绑定到复杂的数据源绑定到数据库:首先创建连接到数据库的Connection对象和执行SQL语句的Command对象,然后执行Command对象的ExecuteReader方法,并把控件绑定到ExecuteReader方法返回的结果。(前台代码:/8.3/8.3.3/Default.aspx)<formid="form1"runat="server"><asp:ListBoxID="myList"runat="server"BackColor="#cccccc"></asp:ListBox></form>218.3绑定到复杂的数据源绑定到数据库::(后台代码:/8.3/8.3.3/Default.aspx.cs) stringstrConn="DataSource=localhost;
Uid=sa;Pwd=123;InitialCatalog=student";
SqlConnection
Conn=newSqlConnection(strConn);stringstrSQL="selects_ID,s_namefromstudent";
Conn.Open();
SqlCommand
Comm=newSqlCommand(strSQL,Conn);
myList.DataSource=Comm.ExecuteReader();
myList.DataTextField="s_ID";
myList.DataValueField="s_name";
myList.DataBind();
Conn.Close();228.3绑定到复杂的数据源4个可实现多值显示的控件下拉列表框:DropDownList列表框:ListBox复选控件:CheckBoxList单选控件:RadioButtonList上述控件显示ADO.NET中数据步骤将用于与数据相关的Web控件的添加到ASP.NET页面中将ADO.NET的DataReader、DataSet或者是DataTable对象赋给控件的DataSource属性执行控件的DataBind()方法238.4常用控件的数据绑定下拉列表框:DropDownListDropDownList控件实际上是列表项的容器,这些列表项都属于ListItems类型。因此在编程中处理列表项时,可以使用Items集合。当将数据源绑定在DropDownList控件上,在下拉列表框事件被触发时,数据在DropDownList的下拉框中显示出来。(前台代码:/8.4/8.4.1/Default.aspx)<asp:DropDownListID="myDDL"runat="server"AutoPostBack="True"Width="166px"OnSelectedIndexChanged="myDDL_SelectedIndexChanged"></asp:DropDownList>248.4常用控件的数据绑定(后台代码:/8.4/8.4.1/Default.aspx.cs)protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){ArrayList
colorList=newArrayList();
colorList.Add("Yellow");
colorList.Add("Blue");
colorList.Add("Pink");
colorList.Add("Green");
myDDL.DataSource=colorList;
myDDL.DataBind();}}protectedvoidmyDDL_SelectedIndexChanged(objectsender,EventArgse){Response.Write("<bodybgcolor="+myDDL.SelectedValue+">");}258.4常用控件的数据绑定列表框:ListBoxListBox控件允许用户从预定义列表中选择一项或多项。它与DropDownList控件类似,不同之处在于它可允许用户一次选择多项。ListBox控件的数据绑定与DropDownList控件一样,都是通过将数据源赋给DataSource属性,然后再执行DataBind()方法。
myListBox.DataSource=myArrayList;
myListBox.DataBind();
268.4常用控件的数据绑定复选控件:CheckBoxList(前台代码:/8.4/8.4.3/Default.aspx.cs)
<formid="form1"runat="server"><asp:CheckBoxListID="ckbEmployees"runat="server"AutoPostBack="True"OnSelectedIndexChanged="ckbEmployees_SelectedIndexChanged"></asp:CheckBoxList><hr/><asp:DataGridID="dgEmployee"
runat=server></asp:DataGrid></form>278.4常用控件的数据绑定(后台代码:/8.4/8.4.3/Default.aspx.cs)//从数据库中获取雇员的名称和ID并绑定到CheckBoxList中stringstrconn="server=(local);database=NorthWind;uid=sa;pwd=123";stringstrSql="SELECTLastName,EmployeeIDFROMEmployeesORDERBYLastName";
SqlConnection
objconn=newSqlConnection(strconn);
SqlCommand
objcmd=newSqlCommand(strSql,objconn);
objconn.Open();
ckbEmployees.DataSource=objcmd.ExecuteReader();
ckbEmployees.DataTextField="LastName";
ckbEmployees.DataValueField="EmployeeID";
ckbEmployees.DataBind();
objconn.Close();}288.4常用控件的数据绑定单选控件:RadioButtonListRadioButtonList控件的数据绑定与CheckBoxList控件类似,都是通过将数据源赋给DataSource属性,然后再执行DataBind()方法。
RadioButtonList.DataSource=myArrayList;
RadioButtonList.DataBind();
298.4常用控件的数据绑定ASP.NET中常用的包括DataGrid控件DataList控件ReapterGridView控件308.5数据服务器控件DataGrid控件:以表格的形式显示数据,通过编辑DataGrid控件的属性可以实现对其中显示的数据进行选择、编辑、更新及添加排序、分页等。datagrid的行其实是datagriditem对象,而列就是datagridcolumn
对象。在datagrid对象的属性集了我们可以看到items和columns属性,它们分别就是datagrid的行集和列集,也就是datagriditem对象集合及datagridcolumn
对象集合。DataGrid数据绑定的步骤:创建数据库连接,并把从数据库中取出的数据存放到DataSet对象中设置DataGrid控件的DataSource属性为该DataSet调用DataGrid控件的DataBind方法318.5数据服务器控件328.5datagrid控件DataGrid控件:打开2005里的工具箱->在工具箱中右击->选中"选择项..."
这是就会出现一个框
你可以在.net
framework组件中选择DataGrid项
命名空间是System.web.ui.webControls
然后确定就可以在DataGrid控件中创建列:因为datagrid是以列的形式来呈现(表现)数据的,一般情况下我们在声明一个datagrid的时候,就指定了datagrid要显示的列,所以datagrid的创建工作就只是创建行的工作了。也可以通过使用“属性生成器”向控件中添加列。338.5数据服务器控件在DataGrid控件中的记录进行分页
stringstrConn="server=(local);database=NorthWind;uid=sa;pwd=123";
SqlConnection
Conn=newSqlConnection(strC
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【初中数学课件】圆复习课件
- 地心游记美术课件
- 2024年新高一物理初升高衔接《匀变速直线运动的位移与时间的关系》含答案解析
- 《欧亚商场安全培训》课件
- 练身手榴弹产业深度调研及未来发展现状趋势
- 治疗呼吸系统疾病的药物制剂产业深度调研及未来发展现状趋势
- 碳酸水用虹吸瓶市场洞察报告
- 医用热疗灯市场发展现状调查及供需格局分析预测报告
- 模型用湿黏土市场发展预测和趋势分析
- 橡皮膏市场洞察报告
- GB 5606.4-2005卷烟第4部分:感官技术要求
- 高端客户开拓与经营
- 小学语文二年级晨诵(课堂PPT)
- 劳资专管员任命文件(样本)
- 住院患者静脉血栓栓塞症预防护理与管理专家共识解读
- 数据生命周期管理dam白皮书
- 作文的谋篇布局课件
- 马丁路德的宗教改革 完整版课件
- 北斗卫星导航系统(全套课件208P)
- 公路养护安全意识培训课件PPT76
- 2021年上海市初三英语二模试卷汇总附答案版
评论
0/150
提交评论