【办公采购系统】系统中遇到的问题汇总(三)——DropDownList控件使用总结

前言

      这个系统是为志晟集团所做的,主要是为了对集团的各个部门每个对办公用品的基本信息的管理。从购买办公用品开始,首先是购买的办公用品的信息录入,到中间的各部门领用,到每月的统计工作等。

      本系统采用的是纯三层架构,Sql Server 数据库。思路清晰,过程简单,但是还是有很多的问题,需要总结。

Problems

做系统中,这个控件非常实用,所以掌握这个真的很有必要。

这里写图片描述

                                                图2-1 DropDownList

这个控件可以说有三种方式,下面我给大家依次分享:

第一种,在前台用代码来添加内容

这里写图片描述

                                                图2-2 用代码来添加内容
protected void Page_Load(object sender, EventArgs e)
        {
            DropDownList1.Items.Add("苹果");
            DropDownList1.Items.Add("西瓜");
            DropDownList1.Items.Add("香蕉");
            DropDownList1.Items.Add("水蜜桃");
        }

第二种,在前台用控件自己绑定数据库的来绑定数据

在VS2012+中很多控件设计的都很人性化,可以直接通过控件自身绑定后台数据库的内容,是非常给力的,当然速度是很快的。缺点也自然而生,就是如果数据库崩溃了,那么前台就会没有数据,完蛋犊子了。。下面分享DropDownList通过前台非代码绑定数据:

从工具箱里,拖一个DropDownList出来,它会有一个小三角,点击小三角,选择数据源。弹出数据源配置向导对话框。
这里写图片描述

                                                图2-2  选择数据源

由于没有数据源,就要新建数据源。点击新建数据源,会弹出下面对话框。
这里写图片描述

                                                图2-3  选择数据源

在这里我用的是SQL Server数据库,所以选择的数据源是SQL。
这里写图片描述

                                                图2-4  选择数据源类型

选择数据库后,要进行对数据库的链接,因为是新建立的数据库,所以要点击新建链接。

这里写图片描述

                                                图2-5  选择数据链接

我相信这个节目是相当的熟悉吧,就按照图例来添数据,完成就可以了。

这里写图片描述

                                                图2-6  添加链接

傻瓜操作,直接下一步。

这里写图片描述

                                                图2-7  选择数据链接

傻瓜操作,直接下一步。需要记住这个名字,officemanagerconnectionString,以后可能会用到。

这里写图片描述

                                                图2-8  将字符串保存到配置文件中

配置SELECT语句,这个真是太神奇了。这是这里最给力的地方, 最霸道的地方,可以直接通过拼凑SELECT语句来完成操作。点赞。

在这里可以选择数据源,添加where条件。还可以进行非Select操作。

这里写图片描述

                                                图2-9  配置SQL语句

这里写图片描述

                                                图2-10  查询测试

这里写图片描述

                                                图2-11  选择数据源

这里写图片描述

                                                图2-12  界面展示

第三种,通过后台访问来添加内容
这种方法可能是最灵活的,毕竟代码是人工手写的,通过后台数据库访问,直接调动代码。非常给力。这里我就直接展示代码喽~~~
前台WEB层:

                //部门显示
                CommonFunction cf = new CommonFunction();
                List<departmentinfo> list = cf.BCheckDepartment();
                if (list != null)
                {
                    //为ddl控件绑定数据源,并设置为请选择
                    ddlDepartment.DataSource = list;
                    ddlDepartment.DataTextField = "departmentName";
                    ddlDepartment.DataBind();
                    ddlDepartment.Items.Add("全部");
                    ddlDepartment.Items.Add("--请选择--");
                    ddlDepartment.Text = "--请选择--";
                    DateTime dt = DateTime.Now; //当前时间
                    DateTime start = dt.AddDays(1 - dt.Day);//本月月初
                    string startMonth = dt.AddDays(1 - dt.Day).ToString("yyyy-MM-dd"); //本月月初
                    string endMonth = start.AddMonths(1).AddDays(-1).ToString("yyyy-MM-dd"); //本月月末
                    //实例化B层,点击查看后,加载本月所有的申请信息
                    BQueryPurchaseRequisition bq = new BQueryPurchaseRequisition();
                    List<requisitioninfo> lists = bq.BQueryAllRecord(startMonth, endMonth);
                    //判断数据是否存在
                    if (lists.Count != 0)
                    {
                        //如果访问数据存在,显示出来
                        givQueryRequest.DataSource = lists;
                        givQueryRequest.DataBind();
                        GridView1.DataSource = lists;
                        GridView1.DataBind();
                    }
                    else
                    {
                        //如果访问数据不存在,显示空
                        givQueryRequest.DataSource = null;
                        givQueryRequest.DataBind();
                    }

                }
                else
                {
                    ddlDepartment.DataSource = null;
                    ddlDepartment.DataBind();

                }

B层:

//实例化D层,获取部门
        departmentinfoDAL department = new departmentinfoDAL();

        #region 查询所包含的部门--王雷--2016年4月10日16:06:09
        /// <summary>
        /// 查询所包含的部门
        /// </summary>
        /// <returns></returns>
        public List<departmentinfo> BCheckDepartment()
        {
            //调用获取部门的方法
            List<departmentinfo> list = department.CheckDepartment();
            return list;
        }
        #endregion

D层:

        #region 查询所包含的部门 --王雷--2016年4月22日16:07:50
        /// <summary>
        /// 查询所包含的部门
        /// </summary>
        /// <returns></returns>
        public List<departmentinfo> CheckDepartment()
        {
            DataTable dt = new DataTable();
            string cmdtext = "select departmentName from [dbo].[T_departmentinfo]";
            dt = sqlhelper.ExecuteQuery(cmdtext, CommandType.Text);
            List<departmentinfo> list =ModelConvertHelper<departmentinfo>.ConvertToModel(dt);
            return list;
        }
        #endregion 

Summarize

      这也算是自己第一次接手项目了,而且还直接接手的是BS的项目,非常高兴,其实在做的过程中,有很多的不足。不过整体还是好的。 加油吧!

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

你个佬六

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

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

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

打赏作者

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

抵扣说明:

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

余额充值