向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)
上一篇 2025年9月5日 下午10:43
下一篇 2025年9月5日 下午11:22


相关推荐

  • G1 收集器调优

    G1 收集器调优翻译:http://www.oracle.com/technetwork/articles/java/g1gc-1984535.html  学习如何适配、调优G1gc以用于评估、分析和性能优化。     G1收集器是用于hotspotJVM的低停顿、适合服务器的分代垃圾收集器。G1GC使用并发和并行阶段来获得目标停顿时间和维持优秀的吞吐量。当G1G

    2022年5月5日
    36
  • Prophet快速安装方法

    Prophet快速安装方法安装VC++14,编译器https://download.csdn.net/download/amoscn/10399046安装Fbprophetcondainstallpystancondainstall-cconda-forgefbprophet安装绘图接口condainstallplotly

    2022年6月29日
    29
  • 计算机硬件性能指标参考

    计算机硬件性能指标参考中央处理器 CPU1 主频 主频也叫时钟频率 单位是 MHz 或 GHz 用来表示 CPU 的运算 处理数据的速度 CPU 的主频 外频 倍频系数 很多人认为主频就决定着 CPU 的运行速度 这不仅是个片面的 而且对于服务器来讲 这个认识也出现了偏差 至今 没有一条确定的公式能够实现主频和实际的运算速度两者之间的数值关系 即使是两大处理器厂家 Intel 英特尔和 AMD 在这点上也存在着很大的争议 从 Int

    2026年3月11日
    3
  • java 敏感字过滤_Java实现敏感词过滤「建议收藏」

    java 敏感字过滤_Java实现敏感词过滤「建议收藏」系列目录:并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须…

    2022年5月24日
    36
  • ARM指令集和X86指令集对比

    ARM指令集和X86指令集对比参考资料 ARM 和 x86 有什么区别 0 基础知识指令的强弱是 CPU 的重要指标 指令集是提高微处理器效率的最有效工具之一 从现阶段的主流体系结构讲 指令集可分为复杂指令集 CISC 和精简指令集 RISC 两部分 相应的 微处理随着微指令的复杂度也可分为 CISC 及 RISC 这两类 CISC 是一种为了便于编程和提高存储器访问效率的芯片设计体系 在 20 世纪 90 年代中期之前 大多数的微处理器都采用 CISC 体系 包括 Intel 的 80×86 和 Motorola 的 68K 系列等 即通常所

    2026年3月18日
    2
  • Linux系统开启IPv6任播(anycast)地址[通俗易懂]

    Linux系统开启IPv6任播(anycast)地址[通俗易懂]这两年真是在linux上各种掏捡,各种零碎。。。无力吐槽了。。。下面简单记录一下开启任播地址我的系统是Debian7.21、开启IPv6转发sudoecho1>/proc/sys/net/ipv6/conf/all/forwarding2、完了系统会自动生成IPv6任播地址cat/proc/net/anycast6此时你在网卡上新配置一个IPv6地址,就会在/proc/net/anycast6下生成一个对应的任播地址。在另一台主机上你可以ping6一下其中一个任.

    2022年5月23日
    57

发表回复

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

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