今天做一个查询功能时遇到了一个问题,是这样的:

我要用DropDownList来绑定数据库里查询出来的类型数据,如下图:想在这两个类型之上再增加一个“全部留言”的项,因为查询条件应该有查询全部类型的留言。尝试了三种方式,最后终于实现了,不多说了,“上菜啦……”

一、直接绑定数据:

1 TList<MessageType> messageTypeSource = ClassMessage.GetMessageTypeByModuleId(moduleId); //获取所有类型的方法
2 DropDownList1.DataSource = messageTypeSource; //绑定数据源
3 DropDownList1.DataTextField = "FmessageTypeName"; //文本内容字段
4 DropDownList1.DataValueField = "FmessageTypeId"; //值字段
5 DropDownList1.DataBind();

编译后页面代码:

1     <select name="dropdownlist1" id="dropdownlist1">
2         <option value="1">网站建议</option>
3         <option value="2">教学相关</option>
4     </select>

缺少了,不选择类型时的“全部留言”这个选项。这不符合我的要求,于是Search了一下网络资源,发现有用DropDownList1.Items.Add(new ListItem("全部留言","0")),这种方法的,于是修改代码如下:

二、用 DropDownList1.Items.Add() 方法动态添加一项:

1 TList<MessageType> messageTypeSource = ClassMessage.GetMessageTypeByModuleId(moduleId); //获取所有类型的方法
2 DropDownList1.DataSource = messageTypeSource; //绑定数据源
3 DropDownList1.DataTextField = "FmessageTypeName"; //文本内容字段
4 DropDownList1.DataValueField = "FmessageTypeId"; //值字段
5 DropDownList1.DataBind();
6 DropDownList1.Items.Add(new ListItem("全部留言","0")); //动态添加新项

编译后页面代码:

1     <select name="dropdownlist1" id="dropdownlist1">
2         <option value="1">网站建议</option>
3         <option value="2">教学相关</option>
4         <option value="0">全部留言</option>
5     </select>

“全部留言”被放置到了最后一项,这也不是我想要的效果,于是再次Web Search后,找到了解决办法,请看下面的代码:

三、用 DropDownList1.Items.Insert() 方法动态插入指定序号的新项

1 TList<MessageType> messageTypeSource = ClassMessage.GetMessageTypeByModuleId(moduleId); //获取所有类型的方法
2 DropDownList1.DataSource = messageTypeSource; //绑定数据源
3 DropDownList1.DataTextField = "FmessageTypeName"; //文本内容字段
4 DropDownList1.DataValueField = "FmessageTypeId"; //值字段
5 DropDownList1.DataBind();
6 //DropDownList1.Items.Add(new ListItem("全部留言","0")); //动态添加新项
7 DropDownList1.Items.Insert(0,new ListItem("全部留言","0")); //动态插入指定序号的新项

编译后页面代码:

1     <select name="dropdownlist1" id="dropdownlist1">
2         <option value="0">全部留言</option>
3         <option value="1">网站建议</option>
4         <option value="2">教学相关</option>
5     </select>

这样就实现了想要的样式,最终还是DropDownList1.Items.Insert(0,new ListItem("全部留言","0"));方法解决了问题。最终效果如下图:

转载于:https://www.cnblogs.com/leospace/archive/2010/01/21/1653269.html

DropDownList动态添加新项并位于第一项 ASP.NET控件应用相关推荐

  1. DataGridView动态添加新行的两种方法

    简单介绍如何为DataGridView控件动态添加新行的两种方 法: 方法一: int index=this.dataGridView1.Rows.Add(); this.dataGridView1. ...

  2. 转——C# DataGridView控件 动态添加新行

    DataGridView控件在实际应用中非常实用,特别需要表格显示数据时.可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行.假如需要动态为DataGridView控件添加新行, ...

  3. SpringBoot整合多数据源,动态添加新数据源并切换(保姆级教程)

    前言 前段时间在项目的开发过程中,遇到了需要从数据库中动态查询新的数据源信息并切换到该数据源做相应的查询操作,翻阅了网上很多资料都是简单的对多数据源的整合,并没有涉及到动态添加新数据源并切换的案例,本 ...

  4. C# DataGridView控件动态添加新行

    目录 方法一: 方法二: ① DataGridView 取得或者修改当前单元格的内容: ② DataGridView 设定单元格只读: ③ DataGridView 不显示最下面的新行: ④ Data ...

  5. SAP ABAP实用技巧介绍系列之利用RTTC给DDIC structure动态添加新的field

    Created by Jerry Wang, last modified on Dec 29, 2014 例如需要给DDIC structure COMM_PRODUCT在runtime时添加新的fi ...

  6. 为ASP.NET控件添加常用的JavaScript操作

    1.为button控件添加确认功能 要想为服务器控件添加客户端的事件,需要用到Attributes属性.Attributes属性是所有的服务器控件都有的一个属性,它用来为最终生成的HTML添加自定义的 ...

  7. 动态创建asp.net控件之我见

    最近考虑将之前用delphi设计的开发框架思路在asp.net上实现,其中有一项功能时动态生成录入界面,这在form开发程序中比较简单只要设置好动态生成的控件的所有者(owner),及位置还有相关事件 ...

  8. H5新特性百度地图SDK--API引入、地图控件、地理编码与逆地理编码、地图标注、路径规划(基于2.0)

    一.API基本使用 1.1 大致流程 打开,百度地图官网 登录或者注册一个百度账号,并完成相关验证 登陆并申请成为开发者 在百度地图开发平台的首页选择控制台,在控制台中创建应用 创建好应用以后就能在控 ...

  9. ASP.NET 控件添加与不添加runat=server的作用及区别

    原文转载于:https://blog.csdn.net/being_towards_death/article/details/81117340?utm_source=blogxgwz0 1.runa ...

最新文章

  1. java拉姆达表达式事例,Java Lambda表达式详解和实例
  2. QT设计器主界面中文介绍
  3. ML之xgboost:绘制xgboost的二叉树graphviz的两种方法代码实现
  4. BeautifulSoup库使用
  5. mysql kill 脚本_批量 kill mysql 中运行时间长的sql
  6. ubuntu添加软件源
  7. 程序员技术进阶手册(一)
  8. 在应用程序级别以外使用注册为 allowDefinition='MachineToApplication' 的节是错误
  9. 随便写写有关微软2004软件架构师峰会的个人感想(一)
  10. java 捕获 nullpointerexception,Java 空检查链与捕获NullPointerException
  11. MyBatis 使用
  12. 斐波那契 —— 矩阵形式推导
  13. 利用Cramer法则求具有唯一解的方程组的解
  14. np.array_split()np.split()
  15. Win11控制面板快捷键 Win11打开控制面板的多种方法
  16. 开发一个可以查询并显示数据库内容的微信小程序
  17. 真正的软件测试实习一
  18. rand()和srand()函数
  19. 【深一点学习】BP网络,结合数学推导的代码实现
  20. days to study vue2+react

热门文章

  1. 轻松搞定Retrofit不同网络请求方式的请求参数配置,及常用注解使用
  2. Appium之创建、连接夜神模拟器
  3. 户外生活--西湖林至千军台
  4. 想成为优秀的技术人员你必须做到的几件事情
  5. Page 的生命周期学习小结
  6. 1.2.3 TCP/IP参考模型和五层参考模型
  7. mybatis返回某一字段_8.mybatis的基本工作流程(2.0)※
  8. js各种图表组件网站
  9. 论大脑的运行-万有引力模型
  10. scrapy中使用代理cookies user-agent