信息系统开发与实践、ASP.NET、网页、WebFrom控件

该文详细介绍了如何使用ListView控件来管理图书信息,包括创建数据表、添加实体类、实现数据的查询、添加、删除和修改方法,以及添加分页功能。通过示例展示了ListView的增删改查及分页展示效果。
摘要由CSDN通过智能技术生成

ListView控件

实验目的:

掌握ListView控件的使用

实验内容:

1.创建数据表:在itcast数据库中创建一个Book数据表并设计好数据字段(如下图)

为方便功能的测试,在数据表中添加一些测试数据

 

2.添加表实体类

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace Lesson3

{

    public class BookModel

    {

        public int ID{get; set;}  //主键ID

        public string BookNum{get; set; }//编号

        public string BookName{get; set;}//书名

        public string BookConcern{get; set; }//出版社

public string BookAuthor{ get; set; }//作者

public int BookCount{set; get; }//数量

public decimal BookPrice{get; set; } //价格

    }

  1. 定义查询数据方法

在项目中创建一个名为BookAction.cs类,添加SqlHelper.cs工具类,在BookAction类中定义一个Getbooks()方法实现获取数据功能。代码如下

 public List<BookModel> GetBooks(int maximumRows, int startRowIndex)

        {

           

            string sql = "select top(@maximumRows)* from Book where Id not in (select top(@startRowIndex) Id from Book)";

            SqlParameter[] pams ={

                                  new  SqlParameter("@maximumRows",maximumRows),

                                  new  SqlParameter("@startRowIndex",startRowIndex)

                                };

            List<BookModel> bookList = null;

            using (SqlDataReader reader = SqlHelper.ExecuteReader(sql,pams))

            {

                //判断是否查询到数据

                if (reader.HasRows)

                {

                    bookList = new List<BookModel>();

                    //将数据封装到对象中

                    while (reader.Read())

                    {

                        BookModel book = new BookModel();

                        book.ID = reader.GetInt32(0);

                        book.BookNum = reader.GetString(1);

                        book.BookName = reader.GetString(2);

                        book.BookConcern = reader.GetString(3);

                        book.BookAuthor = reader.GetString(4);

                        book.BookCount = reader.GetInt32(5);

                        book.BookPrice = reader.GetDecimal(6);

                        bookList.Add(book);

                    }

                }

            }

            //返回集合

            return bookList;

        }

  1. 实现添加数据方法

在BookAction类中定义一个Insertbook()方法实现插入数据功能。代码如下

 public int InsertBook(BookModel book)

        {

            string sql = "insert into Book values(@BookNum,@BookName,@BookConcern,@BookAuthor,@BookCount,@BookPrice)";

            //参数

            SqlParameter[] paras = new SqlParameter[]{

                 new SqlParameter("@BookNum",book.BookNum),

                 new SqlParameter("@BookName",book.BookName),

                 new SqlParameter("@BookConcern",book.BookConcern),

                 new SqlParameter("@BookAuthor",book.BookAuthor),

                 new SqlParameter("@BookCount", book.BookCount),

                 new SqlParameter("@BookPrice",book.BookPrice),

             };

            int count = SqlHelper.ExecuteNonQuery(sql, paras);

            return count;

        }

  1. 实现删除数据方法

在BookAction类中定义一个Delete()方法实现删除数据功能。代码如下

 //删除数据

        public int Delete(BookModel book)

        {

            string sql = "delete Book where Id=@Id";

            //参数

            SqlParameter pam = new SqlParameter("@Id", book.ID);

            //执行命令

           int count= SqlHelper.ExecuteNonQuery(sql, pam);

           return count;

        }

  1. 定义修改数据方法

在BookAction类中定义一个UpdateBook()方法实现修改数据功能。代码如下

//修改数据

        public int UpdateBook(BookModel book)

        {

            string sql = "update Book set BookNum=@BookNum, BookName=@BookName,BookConcern=@BookConcern,BookAuthor=@BookAuthor,BookCount=@BookCount,BookPrice=@BookPrice where ID=@ID";

           //Sql语句中的参数

            SqlParameter[] paras = new SqlParameter[]{

                 new SqlParameter("@ID",book.ID),

                 new SqlParameter("@BookNum",book.BookNum),

                 new SqlParameter("@BookName",book.BookName),

                 new SqlParameter("@BookConcern",book.BookConcern),

                 new SqlParameter("@BookAuthor",book.BookAuthor),

                 new SqlParameter("@BookCount", book.BookCount),

                 new SqlParameter("@BookPrice",book.BookPrice),

             };

            int count = SqlHelper.ExecuteNonQuery(sql, paras);

            return count;

        }

  1. 添加ListView控件

7.1在项目中添加一个名为ListView.aspx的Web窗体页面,从工具箱中找到【数据】分类拖拽一个ListView控件到页面上

7.2新建数据源

在ListView.aspx中单击箭头按钮,在弹出的任务框中单击【选择数据源】的下拉按钮,选中【新建数据项】

7.3选择数据源类型、业务对象

在弹出的对话框中选择【对象】,在【选择业务对象】下拉列表中选中【Lesson3.BookAction】

7.4选择查询、修改、添加、删除方法

在配置数据源对话框中选中【SELECT】,在方法中选择【GetBooks()】方法、选中【UPDATE】,在方法中选择【UpdateBooks()】方法、选中【INSERT】,在方法中选择【InsertBooks()】方法、选中【DELETE】,在方法中选择【Delete()】方法。下图为上述所有过程以及效果图

 

 

 

 

 

  1. 配置ListView控件样式

8.1设置布局和样式并启用增删改查功能,因为ID列不需要显示到ListView界面,但是在进行增删改查操作时需要使用到ID属性,所以直接将ID表头注释,并在ListView控件的属性面板找到DataKeyNames属性并将值设置为ID,具体实现如下

  <%--        <th runat="server">ID</th>--%>

                                    <th runat="server">书号</th>

                                    <th runat="server">书名</th>

                                    <th runat="server">出版社</th>

                                    <th runat="server">作者</th>

                                    <th runat="server">数量</th>

                                    <th runat="server">价格</th>

                                </tr>

8.2注释完ID表头后,还需要注释所有显示ID列数据的标签代码,注释完成后控件就不会显示ID列数据了,效果如图

 

  1. 添加分页控件

9.1使用DataPager分页控件,设置PageControlID属性为ListView控件的ID属性,PageSiza属性设置为4表述默认每页显示4条数据,在BookAction类中定义一个TotalCount()方法用于返回Book表中所有数据的条数。代码如下

public int TotalCount()

        {

            string sql = "select count(*) from Book";

            int count = Convert.ToInt32(SqlHelper.ExecuteScalar(sql));

            return count;

        }

9.2将ObjectDataSource控件的EnablePaging属性设置为True表示支持分页,将SelectCountMethod属性设置为BookAction类中TotalCount()方法用于计算总共有多少页数据,为了提高数据显示效率,注释ObjectDataSource控件下SelectParameters标签中的代码,最终效果如下图

 

10、测试项目功能

10.1分页展示:将ListView.aspx页面设置为起始页,可以看出每一页只显示四条数据,当单击【下一页】按钮后,效果如图

 

 

10.2插入数据:添加书名号为20101429、名字为ASP.NET图书信息,如图插入成功

 

10.3修改数据:将C#的数量修改为888,如图修改成功

 

 

10.4删除数据,将.NET就业实战删除,如图所示删除成功

 

11、总结

1、熟悉掌握使用ListView控件,能够使用控件设置数据源

2、了解掌握SelectItemTemplate是为选中项指定显示内容、EditItemTemplate是为编辑项指定要显示的内容,

3、掌握DataPager控件,实现自动完成分页功能,这个控件可以为数据源中的数据生成页码,使用ObjectDataSource控件,设置增删改查的方法。

4、总体实现了一个图书信息列表的功能,掌握ListView控件的增删改查功能以及分页功能。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cooolting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值