向DropDownList 下拉框添加新选项[通俗易懂]

向DropDownList 下拉框添加新选项[通俗易懂]    大家有没有遇见过这样的情况,假如有一个下拉框,现在让你在下拉框里面添加一个新的选项如“请选择”,而数据库里面又不存在这一选项》要怎么做,下面为大家推荐两种写法:数据库的表为类别表:createtableLE_FoodType(FoodTypeIDintprimarykeyidentity(1,1),FoodTypeNamenvarchar(50)notnu…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

     大家有没有遇见过这样的情况,假如有一个下拉框,现在让你在下拉框里面添加一个新的选项如“请选择”,而数据库里面又不存在这一选项》要怎么做,下面为大家推荐两种写法:

数据库的表为类别表:

create table LE_FoodType
(
FoodTypeID int primary key identity(1,1),
FoodTypeName nvarchar(50) not null
)
go
insert into LE_FoodType values(‘主食’)
insert into LE_FoodType values(‘热菜系列’)
insert into LE_FoodType values(‘经典凉拌’)
insert into LE_FoodType values(‘海鲜盛宴’)

第一种:

          Database db = DatabaseFactory.CreateDatabase(“constr”);

            string sql = string.Format(“select * from LE_FoodType”);
            DataSet ds = db.ExecuteDataSet(CommandType.Text,sql);
            DropDownList1.DataSource = ds.Tables[0];
            DropDownList1.DataValueField = “FoodTypeID”;
            DropDownList1.DataTextField = “FoodTypeName”;

            DropDownList1.DataBind();

          现在绑出的效果如下

向DropDownList 下拉框添加新选项[通俗易懂]

现在在绑定后添加代码如下:

            DropDownList1.DataBind();
            ListItem item = new ListItem();
            item.Text = “查询全部”;

            DropDownList1.Items.Insert(0,item);

其中0带表你要添加的那项的Id值。效果如下:

向DropDownList 下拉框添加新选项[通俗易懂]

上面的几行代码可以替换成一句代码:  DropDownList1.Items.Insert(0,new ListItem(“全部类别”));

有细心的人会发现,为什么我使用  DropDownList1.SelectedItem.Value 获取“查询全部”不是编号0而是一个文本值‘查询全部’? 我们在ListItem()里面打个逗号会发现里面是俩个值,而我们只写一个正确写法为:

DropDownList1.Items.Insert(0,new ListItem(“全部类别”,”0″));

第二种方法:

        string sql = string.Format(“select * from LE_FoodType”);
            DataSet ds = db.ExecuteDataSet(CommandType.Text,sql);
            DataRow row = ds.Tables[0].NewRow();//创建新行
            //根据数据库字段进行赋值
            row[“FoodTypeID”] = “0”;
            row[“FoodTypeName”] = “查询全部”;
            //把创建的新行插入到新的表格里面。
            ds.Tables[0].Rows.InsertAt(row,0);
            DropDownList1.DataSource = ds.Tables[0];
            DropDownList1.DataValueField = “FoodTypeID”;
            DropDownList1.DataTextField = “FoodTypeName”;

            DropDownList1.DataBind();

注意:你创建的新行要放在数据源绑定之前,要不然你创建的新行会不显示的。

上面的代码实现效果与第一种实现的效果是一样的。

我上面使用的数据访问是使用微软企业库进行操作的。

我知道的方法就这些,不知道大家有没有什么好的方法,大家可以一起讨论讨论,上面有什么说错的可以指出来,虚心求教。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197333.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CentOS7.0下安装FTP服务的方法

    CentOS7.0下安装FTP服务的方法

    2021年10月19日
    38
  • html5div居中属性,html怎样让div居中

    html5div居中属性,html怎样让div居中html让div居中的方法:1、通过加“内容”标签让div居中;2、在div中加入“margin:0auto属性;”自动调节居中。本文操作环境:windows7系统、HTML5&&CSS3版、DellG3电脑。DIV居中提供两个方法:1、简单快捷方法就是加内容标签。示例:center居中我要居中啦2、div中加入margin:0auto属性;自动调节居中。示例2:margin…

    2025年5月25日
    3
  • kafka和flume区别

    kafka和flume区别Flume更趋向于消息采集系统,Kafka更趋向于消息缓存系统。 kafka:目前项目中主要是用来做消息推送中间件,消息的处理完全由业务方自己定义,请求频次单机吞吐量轻轻松松50W+/s,数据在集群不全挂的情况下是不会丢数据,消费也很灵活,可以指定分区和offset,可以当做成一个数据库。 flume:用来做数据采集和落地,目前使用的是flume-ng,流程是source(kafka)->channel->hdfs相比较kafka比较轻量级,就是一个数据的流通管道,当..

    2022年6月23日
    28
  • php中浮点数计算问题

    php中浮点数计算问题

    2021年10月31日
    40
  • WebRTC 系列文章 ICE服务器搭建 coturn[通俗易懂]

    WebRTC 系列文章 ICE服务器搭建 coturn[通俗易懂]WebRTC系列文章ICE服务器搭建服务器环境安装coturn安装coturn依赖软件克隆代码仓库安装coturn修改配置克隆一份配置文件修改配置项启动coturn检测coturn工作状态coturn是一个C++编写的开源ICE服务器,同时兼顾了STUN和TURN的功能。服务器环境CentOS7云服务器一台安装coturn安装coturn依赖软件yumi…

    2022年6月13日
    102
  • 常用资源网站

    常用资源网站排名不分先后(1)https://www.codeproject.com/(2)http://www.codeguru.com/(3)https://www.cnblogs.com

    2021年12月18日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号