DataList控件应用之二ppt课件_第1页
DataList控件应用之二ppt课件_第2页
DataList控件应用之二ppt课件_第3页
DataList控件应用之二ppt课件_第4页
DataList控件应用之二ppt课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第十讲 DataList控件运用之二 教学内容教学内容一、在一、在DataListDataList控件中选择数据控件中选择数据二、在二、在DataListDataList控件中编辑数据控件中编辑数据三、在三、在DataListDataList控件中删除数据控件中删除数据四、在四、在DataListDataList控件中分页显示数据控件中分页显示数据五、五、DataListDataList控件运用之二控件运用之二教学目的 掌握在DataList控件中选择数据的方法; 掌握在DataList控件中编辑数据的方法; 掌握在DataList控件中删除数据的方法; 掌握在DataList控件中分页显示的

2、方法。一、在DataList控件中选择数据(1/11) ( (一一)DataList)DataList控件的选择项模板控件的选择项模板运用运用DataListDataList控件选择项模板的设计要点如下:控件选择项模板的设计要点如下: 必需创建必需创建ItemTemplateItemTemplate普通项模板,在这个模板普通项模板,在这个模板内参与一些控件显示记录行的简要信息,以便让读者快速内参与一些控件显示记录行的简要信息,以便让读者快速阅读记录。还需求参与按钮控件到这个模板中,以便可以阅读记录。还需求参与按钮控件到这个模板中,以便可以确认选择。确认选择。 必需创建必需创建SelectedI

3、temTemplateSelectedItemTemplate选择项模板,在选择项模板,在这个模板内参与控件来显示选择项的详细信息。假设选择这个模板内参与控件来显示选择项的详细信息。假设选择项展开后还要再折叠回来,需求参与一个命令按钮启动折项展开后还要再折叠回来,需求参与一个命令按钮启动折叠命令。叠命令。 为各个按钮的反升事件编写后台代码,实现对应为各个按钮的反升事件编写后台代码,实现对应的功能。的功能。 一、在DataList控件中选择数据(2/11) SelectedItemTemplateSelectedItemTemplate选择项模板的选择项模板的HTMLHTML标志为:标志为: %

4、- -% ( (二二) )实现实现DataListDataList控件的选择功能控件的选择功能 下例中运用一个下例中运用一个DataListDataList控件,将数据库控件,将数据库MMISMMIS的数据表的数据表employeeInfoemployeeInfo的简要信息显示在的简要信息显示在ItemTemplateItemTemplate普通项模板中,普通项模板中,将选定行的详细信息显示在将选定行的详细信息显示在SelectedItemTemplateSelectedItemTemplate模板中。模板中。SelectedItemTemplateSelectedItemTemplate模板

5、可以展开和折叠。模板可以展开和折叠。创建创建ASP.NET WebASP.NET Web运用程序工程运用程序工程 向页面拖入一个向页面拖入一个DataListDataList控件。控件。 一、在DataList控件中选择数据(3/11) 在ItemTemplate项模板中仅显示编号和姓名两个字段内容,因此参与两个Label控件绑定到这两个字段。为了确认选择参与一个Button控件到ItemTemplate项模板,Text属性设置为“察看概略,CommandName属性设置为“select。 自动套用格式自动套用格式 右击右击DataListDataList控件,再单击【自动控件,再单击【自动套

6、用格式】,选择一种适宜的格式。套用格式】,选择一种适宜的格式。 编辑编辑ItemTemplateItemTemplate普通项模板普通项模板 DataListDataList控件的项模板编辑器如右控件的项模板编辑器如右图。图。一、在DataList控件中选择数据(4/11) 编辑编辑SelectedItemTemplateSelectedItemTemplate选择项模板选择项模板 向向SelectedItemTemplateSelectedItemTemplate模板中拖入一个模板中拖入一个1 1行行2 2列的列的HTMLHTML表控表控件,是方便其他子控件和文本的定位。在第一个单元格中输入

7、件,是方便其他子控件和文本的定位。在第一个单元格中输入5 5行文本,修正它们的行文本,修正它们的HTMLHTML标志,将它们绑定到数据源:标志,将它们绑定到数据源: 编号编号:%# DataBinder.Eval(Container.DataItem,: ) % 姓名姓名:%# DataBinder.Eval(Container.DataItem,: ) % 性别性别:%# DataBinder.Eval(Container.DataItem,: ) % 部门部门:%# DataBinder.Eval(Container.DataItem,: ) % :%# DataBinder.Eval(C

8、ontainer.DataItem,: % 这些标志是被嵌套在这些标志是被嵌套在标志内标志内的。的。 一、在DataListDataList控件中选择数据(5/11)(5/11)在第二个单元格参与一个Image控件,用来显示相片;参与一个Button按钮,用于启动将SelectedItemTemplate模板折叠的命令。这两个Web效力器控件的HTML标志为: asp:Image id=Image1 runat=server ImageUrl= 这些标志也是被嵌套在标志内的。 一、在DataListDataList控件中选择数据(6/11)(6/11)编辑页眉和页脚模板编辑页眉和页脚模板 在页

9、眉和页脚模板编辑器中输在页眉和页脚模板编辑器中输入一些文字并设置格式,如以下图。入一些文字并设置格式,如以下图。 编写后台代码编写后台代码 首先在首先在WebForm1WebForm1类中编写一个方法类中编写一个方法MyDataBindMyDataBind,用于衔接数,用于衔接数据库、填充数据到数据集、绑定数据源到据库、填充数据到数据集、绑定数据源到DataListDataList控件等。控件等。一、在DataListDataList控件中选择数据(7/11)(7/11)private void MyDataBind() string connectionString=workstation

10、id=localhost;+ initial catalog=MMIS;user id=sa; pwd=; SqlConnection myConnection=new SqlConnection(connectionString); SqlCommand myCommand=myConnection.CreateCommand(); myCommandmandText=select * from employeeInfo; SqlDataAdapter myDataAdapter=new SqlDataAdapter(); myDataAdapter.SelectCommand=myComm

11、and; DataSet mySet=new DataSet(); /填充数据集 一、在DataListDataList控件中选择数据(8/11)(8/11) myDataAdapter.Fill(mySet,employeeInfo); /数据绑定到控件DataList1 DataList1.DataSource=mySet.TablesemployeeInfo.DefaultView; DataList1.DataBind(); 网页加载时的代码: private void Page_Load(object sender, System.EventArgs e) if(!IsPostBac

12、k) /调用自定义函数绑定数据 MyDataBind(); 一、在DataListDataList控件中选择数据(9/11)(9/11)“察看概略按钮 是DataList控件的子控件,它的事件已被反升至DataList控件。由于该按钮的CommandName属性设置为“select ,所以该按钮的功能代码就要编写在DataList控件的ItemCommand事件中。 private void DataList1_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e) if(emandNam

13、e=select) /设置DataList控件的SelectedIndex为当前选择行的索引 /以便显示SelectedItemTemplate模板 DataList1.SelectedIndex=e.Item.ItemIndex; /调用自定义函数绑定数据 MyDataBind(); 一、在DataListDataList控件中选择数据(10/11)(10/11)为“折叠按钮编程。由于它也是DataList控件的子控件,所以它的事件已也被反升至DataList控件。由于该按钮的CommandName属性设置为“cancel,所以该按钮的功能代码就要编写在DataList控件的CancelCo

14、mmand事件中。 private void DataList1_CancelCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e) /设置DataList控件的SelectedIndex为1 /当前就没有选择项,SelectedItemTemplate模板不显示 DataList1.SelectedIndex=-1; MyDataBind(); 一、在DataListDataList控件中选择数据(11/11)(11/11)运转程序,在第一行的“察看概略按钮上单击,将第一行展开后的效果如右图。这

15、时在页面上单击【折叠】按钮,可以将SelectedItemTemplate模板折叠起来,使页面变成工程列表。二、在DataListDataList控件中编辑数据1/111/11 ( (一一) DataList) DataList控件的编辑项模板控件的编辑项模板使使DataListDataList控件具有编辑修正功能的设计要点如下:控件具有编辑修正功能的设计要点如下: 必需创建必需创建ItemTemplateItemTemplate普通项模板,在这个模板内普通项模板,在这个模板内参与一些控件显示记录行的简要信息,让数据管理者快速阅读参与一些控件显示记录行的简要信息,让数据管理者快速阅读记录以确定

16、需求修正的记录。再参与按钮控件到这个模板中,记录以确定需求修正的记录。再参与按钮控件到这个模板中,以便启动修正。以便启动修正。 必需创建必需创建EditItemTemplateEditItemTemplate编辑项模板,并在模板编辑项模板,并在模板内参与可以实现编辑操作的控件如内参与可以实现编辑操作的控件如 TextBox TextBox文本框,启动文本框,启动“更新和更新和“取消等操作命令的控件如取消等操作命令的控件如ButtonButton命令按钮。命令按钮。 为各个按钮的反升事件编写后台代码,实现对应的功为各个按钮的反升事件编写后台代码,实现对应的功能。能。 EditItemTempla

17、teEditItemTemplate编辑项模板的编辑项模板的HTMLHTML标志为:标志为: %- -% 二、在DataListDataList控件中编辑数据2/112/11 ( (二二) ) 实现实现 DataList DataList控件的编辑功能控件的编辑功能 在下例中运用一个在下例中运用一个DataListDataList控件,将控件,将productproduct数数据库的数据表据库的数据表fruitInfofruitInfo的简要信息显示在的简要信息显示在ItemTemplateItemTemplate普通项模板中,定义普通项模板中,定义EditItemTemplateEditIt

18、emTemplate模板用于数据更新。模板用于数据更新。EditItemTemplateEditItemTemplate模板可以展开和折叠。模板可以展开和折叠。编辑编辑ItemTemplateItemTemplate普普通项模板通项模板 DataListDataList控件的控件的项模板编辑器如项模板编辑器如右图。右图。二、在DataListDataList控件中编辑数据3/113/11 编辑编辑EditItemTemplateEditItemTemplate编辑项模板编辑项模板 在在EditItemTemplateEditItemTemplate项模板中,参与项模板中,参与3 3个个Labe

19、lLabel控件分别控件分别显示数据源的商品编号、商品称号和产地,将它们绑定到显示数据源的商品编号、商品称号和产地,将它们绑定到对应的字段上。对应的字段上。 本模板内只允许修正商品的等级和单价,为此参与本模板内只允许修正商品的等级和单价,为此参与2 2个个TextBoxTextBox控件用于接纳用户的修正。将它们绑定到控件用于接纳用户的修正。将它们绑定到“等级等级和和“单价字段。单价字段。 参与参与3 3个个ButtonButton控件用于启动控件用于启动“更新数据、更新数据、“吊销更吊销更新和新和“折回功能。折回功能。Button2Button2的的TextText属性设置为属性设置为“更新

20、数更新数据,据,CommandNameCommandName属性设置为属性设置为“OK“OK。Button3Button3的的TextText属属性设置为性设置为“吊销更新,吊销更新,CommandNameCommandName属性设置为属性设置为“Undo“Undo。Button4Button4的的TextText属性设置为属性设置为“折回,折回,CommandNameCommandName属性设属性设置为置为“Return“Return。 二、在DataListDataList控件中编辑数据4/114/11编辑编辑SeparatorTemplateSeparatorTemplate分分隔模

21、板隔模板 翻开翻开SeparatorTemplateSeparatorTemplate分隔分隔模板编辑器,拖入一个模板编辑器,拖入一个HTMLHTML的的Horizontal RuleHorizontal Rule程度直线到模程度直线到模板中,可将各项分隔开如右图。板中,可将各项分隔开如右图。 编辑页眉和页脚模板编辑页眉和页脚模板 翻开页眉和页脚模板编翻开页眉和页脚模板编辑器,向页眉中输入一些辑器,向页眉中输入一些文字并调整格式,如右图。文字并调整格式,如右图。 二、在DataListDataList控件中编辑数据5/115/11编写后台代码编写后台代码 在在WebForm1WebForm1类

22、中编写一个方法类中编写一个方法MyDataBindMyDataBind,用于,用于衔接数据库、填充数据到数据集、绑定数据源到衔接数据库、填充数据到数据集、绑定数据源到DataListDataList控件等。控件等。 private void MyDataBind() private void MyDataBind() string connectionString=workstation string connectionString=workstation id=localhost;+ id=localhost;+ initial catalog=product;user id=sa; in

23、itial catalog=product;user id=sa; pwd=; pwd=; SqlConnection myConnection=new SqlConnection myConnection=new SqlConnection(connectionString); SqlConnection(connectionString); SqlCommand SqlCommand myCommand=myConnection.CreateCommand(); myCommand=myConnection.CreateCommand(); myCommandmandText=select

24、 myCommandmandText=select * * from from fruitInfo; fruitInfo; SqlDataAdapter myDataAdapter=new SqlDataAdapter myDataAdapter=new SqlDataAdapter(); SqlDataAdapter(); myDataAdapter.SelectCommand=myCommand; myDataAdapter.SelectCommand=myCommand; DataSet mySet=new DataSet(); DataSet mySet=new DataSet();

25、mySet.Clear(); mySet.Clear(); myDataAdapter.Fill(mySet,fruitInfo); myDataAdapter.Fill(mySet,fruitInfo); DataList1.DataSource=mySet.TablesfruitDataList1.DataSource=mySet.TablesfruitInfo.DefaultView; Info.DefaultView; DataList1.DataBind();DataList1.DataBind(); 二、在DataListDataList控件中编辑数据6/116/11网页加载时的代

26、码: private void Page_Load(object sender, System.EventArgs e) if(!IsPostBack) /调用自定义函数绑定数据 MyDataBind(); 二、在DataListDataList控件中编辑数据7/117/11为“修正按钮的单击事件编程。由于它是DataList控件的子控件,所以它的事件已被反升至DataList控件。由于该按钮的CommandName属性设置为“edit,所以该按钮的功能代码就要编写在DataList控件的EditCommand事件中。 private void DataList1_EditCommand(ob

27、ject source, System.Web.UI.WebControls.DataListCommandEventArgs e) /设置DataList控件的EditItemIndex为当前选择行的索引 /以便显示EdittemTemplate模板 DataList1.EditItemIndex=e.Item.ItemIndex; /调用自定义函数绑定数据 MyDataBind(); 二、在DataListDataList控件中编辑数据8/118/11为“更新数据、“吊销更新和“折回3个按钮编程。private void DataList1_ItemCommand(object sourc

28、e, System.Web.UI.WebControls.DataListCommandEventArgs e) string connectionString=workstation id=localhost;+ initial catalog=product;user id=sa; pwd=; SqlConnection myConnection=new SqlConnection(connectionString); SqlCommand myCommand= myConnection.CreateCommand(); string No; string grade; string pr

29、ice; 二、在DataListDataList控件中编辑数据9/119/11switch(emandName) case OK: No=(Label)e.Item.FindControl(Label4).Text; myCommandmandText=select 等级,单价 from fruitInfo + where 商品编号=+No+; SqlDataAdapter myDataAdapter=new SqlDataAdapter(); myDataAdapter.SelectCommand=myCommand; DataSet myDataSet=new DataSet(); myD

30、ataAdapter.Fill(myDataSet,fruitInfo); ViewStateNo=No; ViewStategrade=myDataSet.TablesfruitInfo.Rows0等级; ViewStateprice=myDataSet.TablesfruitInfo.Rows0单价; grade=(TextBox)e.Item.FindControl(TextBox1).Text; price=(TextBox)e.Item.FindControl(TextBox2).Text; myCommandmandText=Update fruitInfo set 等级=+gra

31、de+ , 单价=+price+ where 商品编号=+No+; try myConnection.Open(); myCommand.ExecuteNonQuery(); 二、在DataListDataList控件中编辑数据10/1110/11catch(Exception) Response.Write(alert(数据格式出错,数据未被更新); finally myConnection.Close(); break; case Undo: No=ViewStateNo.ToString(); grade=ViewStategrade.ToString(); price=ViewStat

32、eprice.ToString(); myCommandmandText=Update fruitInfo set 等级=+grade+ , 单价=+price+ where 商品编号=+No+; myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); break; case Return: DataList1.EditItemIndex=-1; break; MyDataBind(); 二、在DataListDataList控件中编辑数据11/1111/11运转程序,在第二行上单击【修正数据】按钮,将第二

33、行展开后的效果如图。 三、在DataListDataList控件中删除数据记录1/61/6 ( (一一) )在在DataListDataList控件中删除记录的设计要点控件中删除记录的设计要点使使DataListDataList控件具有删除记录功能的设计要点如下:控件具有删除记录功能的设计要点如下: 必需创建必需创建ItemTemplateItemTemplate普通项模板,在这个模板普通项模板,在这个模板内参与一些控件显示数据源的信息,让数据管理者快速阅读内参与一些控件显示数据源的信息,让数据管理者快速阅读记录以确定需求删除哪一条记录。还需求参与一个记录以确定需求删除哪一条记录。还需求参与一

34、个“删除删除按钮到这个模板中,以便可以启动删除功能。按钮到这个模板中,以便可以启动删除功能。 将将DataListDataList控件的控件的DataKeyFieldDataKeyField属性设置到数属性设置到数据表的主键字段。据表的主键字段。( (二二) )实如今实如今DataListDataList控件中删除记录控件中删除记录 在下例中运用一个在下例中运用一个DataListDataList控件,将数据库控件,将数据库MMISMMIS的数据的数据表表employeeInfoemployeeInfo的信息显示在的信息显示在ItemTemplateItemTemplate普通项模板中,普通项

35、模板中,参与一个参与一个“删除按钮到删除按钮到ItemTemplateItemTemplate中启动删除功能。中启动删除功能。 三、在DataListDataList控件中删除数据记录2/62/6 后台代码后台代码 编写自定义方法编写自定义方法MyDataBindMyDataBind衔接数据库、填充一切行到数据集并绑定到控衔接数据库、填充一切行到数据集并绑定到控件件DataList1DataList1上。上。 private void MyDataBind() private void MyDataBind() string connectionString=workstation id=lo

36、calhost;+ string connectionString=workstation id=localhost;+ initial catalog=MMIS;user id=sa; pwd=; initial catalog=MMIS;user id=sa; pwd=; SqlConnection myConnection=new SqlConnection myConnection=new SqlConnection(connectionString); SqlConnection(connectionString); SqlCommand myCommand=myConnection

37、.CreateCommand(); SqlCommand myCommand=myConnection.CreateCommand(); myCommandmandText=select myCommandmandText=select * * from employeeInfo; from employeeInfo; SqlDataAdapter myDataAdapter=new SqlDataAdapter(); SqlDataAdapter myDataAdapter=new SqlDataAdapter(); myDataAdapter.SelectCommand=myCommand

38、; myDataAdapter.SelectCommand=myCommand; DataSet mySet=new DataSet(); DataSet mySet=new DataSet(); myDataAdapter.Fill(mySet,employeeInfo); myDataAdapter.Fill(mySet,employeeInfo); DataList1.DataSource=mySet.TablesemployeeInfo.DefaultDataList1.DataSource=mySet.TablesemployeeInfo.DefaultView; View; Dat

39、aList1.DataBind(); DataList1.DataBind(); 三、在DataListDataList控件中删除数据记录3/63/6 网页加载时绑定数据。 private void Page_Load(object sender, System.EventArgs e) if(!IsPostBack) /调用自定义函数绑定数据 MyDataBind(); 三、在DataListDataList控件中删除数据记录4/64/6 为“删除按钮的单击编写程序代码。因其CommandName属性为“delete,所以程序代码要写在容器控件的反升事件DataList1_DeleteCom

40、mand中。 private void DataList1_DeleteCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e) string No=DataList1.DataKeyse.Item.ItemIndex.ToString(); string connectionString=workstation id=localhost;+ initial catalog=MMIS;user id=sa; pwd=; SqlConnection myConnection=new SqlConnec

41、tion(connectionString); SqlCommand myCommand=myConnection.CreateCommand(); myCommandmandText=delete from employeeInfo where 编号=+No+; myConnection.Open(); myCommand.ExecuteNonQuery(); myConnection.Close(); MyDataBind(); 三、在DataListDataList控件中删除数据记录5/65/6 为“删除按钮添加属性,以便单击它时可以弹出确认框。private void DataList

42、1_ItemCreated(object sender, System.Web.UI.WebControls.DataListItemEventArgs e) /判别假设是DataList1中的普通项、交替项或者编辑项 if(e.Item.ItemType=ListItemType.Item|e.Item.ItemType= ListItemType.AlternatingItem|e.Item.ItemType= ListItemType.EditItem) /将子控件Button1转换为ButtonDel Button ButtonDel=(Button)e.Item.FindContro

43、l(Button1); /为删除按钮添加属性,以便单击它时弹出确认框 ButtonDel.Attributes.Add(onclick,return confirm(确实要删除此行吗?);); 三、在DataListDataList控件中删除数据记录6/66/6 程序运转结果如图。 四、在DataList控件中分页显示数据1/7( (一一) )如何处理如何处理DataListDataList控件分页控件分页 DataList DataList控件本身不具有分页功能,要使其可以分页控件本身不具有分页功能,要使其可以分页显示,可以有两种方法处理:显示,可以有两种方法处理: 自定义分页数据源。根本思

44、绪是每次提取固定数量的自定义分页数据源。根本思绪是每次提取固定数量的行到数据源,假定每页显示行到数据源,假定每页显示5 5行到行到DataListDataList控件,就每次提取控件,就每次提取5 5条记录到数据源,然后将数据源绑定到控件即可,难点在于条记录到数据源,然后将数据源绑定到控件即可,难点在于如何正确地提取到符合当前页要求的那如何正确地提取到符合当前页要求的那5 5条记录。条记录。 运用运用PageDataSourcePageDataSource类实现分页功能。类实现分页功能。( (二二)PageDataSource)PageDataSource类类 PageDataSource P

45、ageDataSource类是类是ASP.NETASP.NET用于对数据源进展分页用于对数据源进展分页处置的一个类,可用于处置的一个类,可用于RepeaterRepeater、DataListDataList和和DataGridDataGrid等数等数据绑定控件的分页功能。运用它实现数据绑定控件的分页时,据绑定控件的分页功能。运用它实现数据绑定控件的分页时,将原先未分页的数据源作为将原先未分页的数据源作为PageDataSourcePageDataSource实例的数据源,实例的数据源,经过设置其属性使适宜数据绑定控件分页的需求,然后将该经过设置其属性使适宜数据绑定控件分页的需求,然后将该实例

46、作为数据绑定控件的数据源,即可使数据绑定控件具有实例作为数据绑定控件的数据源,即可使数据绑定控件具有分页功能。分页功能。四、在DataList控件中分页显示数据2/7PageDataSource类常用的属性有: AllowPaging属性:设置或获取能否启用分页。 AllowCustomPaging属性:设置或获取能否启用自定义分页。 DataSource属性:设置或获取数据绑定控件例如DataList的数据源。 PageSize属性:设置或获取DataList控件上每页的行数。 PageCount属性:DataList控件上的总页数,只读。 IsFirstPage属性:其值为true时当前为

47、第一页,只读。 IsLastPage属性:其值为true时当前为最后一页,只读。 CurrentPageIndex属性:设置或获取当前页的索引号。 四、在DataList控件中分页显示数据3/7后台代码后台代码 private void MyDataBind() private void MyDataBind() /衔接数据库衔接数据库 string connectionString=workstation string connectionString=workstation id=localhost;+ id=localhost;+ initial catalog=MMIS;user id

48、=sa; pwd=; initial catalog=MMIS;user id=sa; pwd=; SqlConnection myConnection=new SqlConnection myConnection=new SqlConnection(connectionString); SqlConnection(connectionString); SqlCommand myCommand=myConnection.CreateCommand(); SqlCommand myCommand=myConnection.CreateCommand(); myCommandmandText=se

49、lect myCommandmandText=select * * from employeeInfo; from employeeInfo; SqlDataAdapter myDataAdapter=new SqlDataAdapter(); SqlDataAdapter myDataAdapter=new SqlDataAdapter(); myDataAdapter.SelectCommand=myCommand; myDataAdapter.SelectCommand=myCommand; DataSet mySet=new DataSet(); DataSet mySet=new D

50、ataSet(); / /填充数据集填充数据集四、在DataList控件中分页显示数据4/7 myDataAdapter.Fill(mySet,employeeInfo); /创建PagedDataSource类的对象用于分页 PagedDataSource pds=new PagedDataSource(); /设置分页对象的数据源 pds.DataSource=mySet.TablesemployeeInfo.DefaultView; /启用分页功能 pds.AllowPaging=true; /每页5行 pds.PageSize=5; /当前页号 int CurrentPageNo; /

51、页面能否跳转 四、在DataList控件中分页显示数据5/7 if(Request.QueryStringPage!=null) CurrentPageNo=Convert.ToInt32(Request.QueryStringPage); else CurrentPageNo=1; pds.CurrentPageIndex=CurrentPageNo-1; this.LabelCount.Text=共+pds.PageCount.ToString()+页; this.LabelCurrent.Text=第+CurrentPageNo.ToString()+页; if(!pds.IsFirst

52、Page) HyperLinkUp.NavigateUrl=Request.CurrentExecutionFilePath+ ?Page=+Convert.ToString(CurrentPageNo-1); if(!pds.IsLastPage) HyperLinkDown.NavigateUrl=Request.CurrentExecutionFilePath+ ?Page=+Convert.ToString(CurrentPageNo+1); DataList1.DataSource=pds; DataList1.DataBind(); 四、在DataList控件中分页显示数据6/7页

53、面加载时的代码private void Page_Load(object sender, System.EventArgs e) if(!IsPostBack) /调用自定义函数绑定数据 MyDataBind(); 四、在DataList控件中分页显示数据7/7程序的运转结果程序的运转结果 如图。如图。 五、DataListDataList控件运用之二 1/91/9网上选购商品是电子商务网站常见的网页功能,这里将网页划分为两个区:商品展现区和购物车区。这里经过一个实例来阐明这个设计思想,两个功能区域分别用两个DataList控件实现。 (一)运用DataList控件实现购物功能 在网页上运用一

54、个控件DataList1用作商品展现区,在这里客户可以阅读到商品的文字和图片信息,DataList1中还有2个按钮控件Button1和Button2,分别用于“购买一个单位和“移去一个单位。 网页上还有一个控件DataList2,显示购物车信息。当客户在商品展现区某商品上单击【购买一个单位】按钮,就将该商品参与到购物车假设购物车中没有该商品或数量加1假设购物车中已有该商品;假设单击【移去一个单位】按钮,就在购物车中将该商品的数量减1当然要购物车中有该商品。程序运转的效果如以下图。五、DataListDataList控件运用之二 2/92/9页面的左侧为商品展现区,是运用控件DataList1实

55、现的。在其ItemTemplate项模板中参与了2个Button控件,用于启动“购买一个单位和“移去一个单位功能。 页面的右侧为购物车区,是运用控件DataList2实现的。购物车设计的重点在于DataList控件数据源的设计,可以运用一个DataTable表对象作为它的数据源。 五、DataListDataList控件运用之二 3/93/9( (二二) )后台代码后台代码 首先为首先为Form1Form1类定义两个字段级变量,用于购物车的表对象和数据视类定义两个字段级变量,用于购物车的表对象和数据视图。图。 private DataTable ShopCart; private DataTa

56、ble ShopCart; private DataView ShopCartView; private DataView ShopCartView; 设计一个自定义函数用于对控件设计一个自定义函数用于对控件DataList1DataList1进展数据绑定。进展数据绑定。 private void DataList1Bind() private void DataList1Bind() string connectionString=workstation id=localhost; + string connectionString=workstation id=localhost; + i

57、nitial initial catalog=product;user id=sa; pwd=; catalog=product;user id=sa; pwd=; SqlConnection myConnection=new SqlConnection myConnection=new SqlConnection(connectionString); SqlConnection(connectionString); SqlCommand myCommand=myConnection.CreateCommand(); SqlCommand myCommand=myConnection.Crea

58、teCommand(); myCommandmandText=select myCommandmandText=select * * from fruitInfo; from fruitInfo; SqlDataAdapter myDataAdapter=new SqlDataAdapter(); SqlDataAdapter myDataAdapter=new SqlDataAdapter(); myDataAdapter.SelectCommand=myCommand; myDataAdapter.SelectCommand=myCommand; DataSet mySet=new Dat

59、aSet(); DataSet mySet=new DataSet(); myDataAdapter.Fill(mySet,fruitInfo); myDataAdapter.Fill(mySet,fruitInfo); DataList1.DataSource=mySet.TablesfruitInfo.DefaultView; DataList1.DataSource=mySet.TablesfruitInfo.DefaultView; DataList1.DataBind(); DataList1.DataBind(); 五、DataListDataList控件运用之二 4/94/9网页加载时初始化购物车对象,对DataList1和DataList2做数据绑定。private void Page_Load(object sender, System.EventArgs e) if(SessionShopCart=null) ShopCart=new DataTable(); ShopCart.Columns.Add(new DataColumn(编号,typeof(string); ShopCart.Columns.Add(new DataColumn(品名,typeof(string); S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论