也谈谈动态绑定dropdownlist

DropdownList绑定数据的方法 立即下载
 

也谈谈动态绑定dropdownlist(2)

 

       在我的《也谈谈动态绑定dropdownlist(1)》的文章里,(http://blog.youkuaiyun.com/zsxfbj/archive/ 2004/07/08 /36659.aspx)提到了的是利用dataset作为数据源来实现dataset的Item绑定。但是DataSet包含的内容和结构太多,我们只要求的是快速的绑定DropDownList的Item,而不对数据做任何的操作。所以说用DataSet做数据源的话,是不是有些大材小用的感觉?

       而且在用DataSet做为数据源的时候,我们要指定:

DropDownList1.DataTextField = "ItemName"; //dropdownlist的Text的字段

DropDownList1.DataValueField = "id";//dropdownlist的Value的字段

这样的话,我们还要知道表的字段,这个方面不是很好。如果我们想在绑定一个叫Text为:All Item,Value为0的Item,用DataSet作为数据源时绑定会出现问题,我在绑定DropDownList1时,先指定上面我要加的Item项:

     DropDownList1.Items.Add( new ListItem( "ALL Item", "0" ) );//这里为新加代码

    DropDownList1.DataSource = dataSet.Tables["Table1"].DefaultView;

    //指定DropDownList使用的表里的那些字段

    DropDownList1.DataTextField = "ItemName"; //dropdownlist的Text的字段

    DropDownList1.DataValueField = "id";//dropdownlist的Value的字段

    DropDownList1.DataBind();

编译后生成的页面的代码:

<select name=”DropDownList 1” id=”DropDownList 1” >

<option value=” 5” >Item5</option>

<option value=” 4” >Item4</option>

<option value=” 3” >Item3</option>

<option value=” 2” >Item2</option>

<option value=” 1” >Item1</option>

</select>

新加的All Item这项根本没有。如果发在后面呢?

     //指定DropDownList使用的数据源

    //DropDownList1.Items.Add( new ListItem( "ALL Item", "0" ) );//新加的代码

    DropDownList1.DataSource = dataSet.Tables["Table1"].DefaultView;

    //指定DropDownList使用的表里的那些字段

    DropDownList1.DataTextField = "ItemName"; //dropdownlist的Text的字段

    DropDownList1.DataValueField = "id";//dropdownlist的Value的字段

    DropDownList1.DataBind();

    DropDownList1.Items.Add( new ListItem( "ALL Item", "0" ) );//新加的代码

编译后的页面的代码为:

<select name="DropDownList1" id="DropDownList1">

     <option value="5">Item5</option>

     <option value="4">Item4</option>

     <option value="3">Item3</option>

     <option value="2">Item2</option>

     <option value="1">Item1</option>

     <option value="0">ALL Item</option>

</select>

好像<option value="0">ALL Item</option>这项有了,但是是放在了最下面,这又不符合我们的一般的习惯。那么怎么办呢?

     既然,DropDownList1.Items可以Add一个new ListItem,而且DataSet做数据源太浪费,我们又不对数据做任何修改,那么我们只是Read一下就可以了。下面就看看这段代码:

using System;

using System.Collections;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Web;

using System.Web.SessionState;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.HtmlControls;

using System.Data.SqlClient;

using System.Configuration;

 

namespace BindDropDownList

{

    /// <summary>

    /// Example2 的摘要说明。

    /// </summary>

    public class Example2 : System.Web.UI.Page

    {

      protected System.Web.UI.WebControls.DropDownList DropDownList1;

      protected System.Web.UI.WebControls.Button Button1;

  

        private void Page_Load(object sender, System.EventArgs e)

        {

            // 在此处放置用户代码以初始化页面

        }

 

        #region Web Form Designer generated code

        override protected void OnInit(EventArgs e)

        {

            //

            // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。

            //

            InitializeComponent();

            base.OnInit(e);

        }

       

        /// <summary>

        /// 设计器支持所需的方法 - 不要使用代码编辑器修改

        /// 此方法的内容。

        /// </summary>

        private void InitializeComponent()

        {   

         this.Button1.Click += new System.EventHandler(this.Button1_Click);

         this.Load += new System.EventHandler(this.Page_Load);

 

      }

        #endregion

 

      private void Button1_Click(object sender, System.EventArgs e)

      {

         //取得Web.config里的数据库连接字串

         string ConnString = ConfigurationSettings.AppSettings["ConnectionString"];

         //创建一个SqlConnection

         SqlConnection Conn = new SqlConnection( ConnString );

        

         string SQL_Select = "select id, ItemName from DDLItem order by id desc";

         //创建一个SqlCommand

         SqlCommand myCommand = new SqlCommand( SQL_Select, Conn );

         //读取数据记录并绑定

         myCommand.Connection.Open();

         //使用DataReader读取速度更快

         SqlDataReader myReader = myCommand.ExecuteReader();

         while ( myReader.Read() )

         {

            DropDownList1.Items.Add( new ListItem( myReader["ItemName"].ToString(),myReader["id"].ToString() ) );//增加Item

            //或者这样也能绑定,

            //DropDownList1.Items.Add( new ListItem( myReader[1].ToString(),myReader[0].ToString() ) );//增加Item

            //都是要在知道Sql语句或者数据表结构的前提下才能这样绑定

         }

 

         myCommand.Connection.Close();

 

      }

    }

}

编译运行后,效果一样,但是更节省了系统的开销。而且我们也可以方面的添加特别的Item,比如这样:

    private void Button1_Click(object sender, System.EventArgs e)

      {

         DropDownList1.Items.Add( new ListItem( "ALL Item", "0" ) );//新加一个Item

         //取得Web.config里的数据库连接字串

         string ConnString = ConfigurationSettings.AppSettings["ConnectionString"];

         //创建一个SqlConnection

         SqlConnection Conn = new SqlConnection( ConnString );

        

         string SQL_Select = "select id, ItemName from DDLItem order by id desc";

         //创建一个SqlCommand

         SqlCommand myCommand = new SqlCommand( SQL_Select, Conn );

         //读取数据记录并绑定

         myCommand.Connection.Open();

         //使用DataReader读取速度更快

         SqlDataReader myReader = myCommand.ExecuteReader();

         while ( myReader.Read() )

         {

            DropDownList1.Items.Add( new ListItem( myReader["ItemName"].ToString(),myReader["id"].ToString() ) );//增加Item

            //或者这样也能绑定,

            //DropDownList1.Items.Add( new ListItem( myReader[1].ToString(),myReader[0].ToString() ) );//增加Item

            //都是要在知道Sql语句或者数据表结构的前提下才能这样绑定

         }

         myCommand.Connection.Close();

      }

编译后的页面代码为:

<select name="DropDownList1" id="DropDownList1">

    <option value="0">ALL Item</option>

    <option value="5">Item5</option>

    <option value="4">Item4</option>

    <option value="3">Item3</option>

    <option value="2">Item2</option>

    <option value="1">Item1</option>

</select>

我们目的就可以灵活的达到了。

     所以说使用SqlDataReader加Add ListItem可以更快的绑定DropDownList。但是DataSet也可以想这样的绑定DropDownList:

private void Button1_Click(object sender, System.EventArgs e)

      {

         //取得Web.config里的数据库连接字串

         string ConnString = ConfigurationSettings.AppSettings["ConnectionString"];

         //创建一个SqlConnection

         SqlConnection Conn = new SqlConnection( ConnString );

        

         string SQL_Select = "select id, ItemName from DDLItem order by id desc";

         //构造一个SqlDataAdapter

         SqlDataAdapter myAdapter = new SqlDataAdapter( SQL_Select, Conn );

         //开始读取数据

         Conn.Open();

         DataSet dataSet = new DataSet();

         myAdapter.Fill( dataSet,"Table1" );

         Conn.Close();

 

         //开始绑定DropDownList

         DataTable dataTable = dataSet.Tables["Table1"];

         foreach( DataRow dataRow in dataTable.Rows )

         {

           DropDownList1.Items.Add( new ListItem( dataRow[1].ToString(), dataRow[0].ToString() ) );

         }

//         //指定DropDownList使用的数据源

//         //DropDownList1.Items.Add( new ListItem( "ALL Item", "0" ) );//新加的代码

//         DropDownList1.DataSource = dataSet.Tables["Table1"].DefaultView;

//         //指定DropDownList使用的表里的那些字段

//         DropDownList1.DataTextField = "ItemName"; //dropdownlist的Text的字段

//         DropDownList1.DataValueField = "id";//dropdownlist的Value的字段

//         DropDownList1.DataBind();

//         DropDownList1.Items.Add( new ListItem( "ALL Item", "0" ) );//新加的代码

 

      }

当然,怎么绑定DropDownList都是个人喜好的问题了,这个都是属于编程技巧的范围了。呵呵,希望大家能一起交流编程的技巧和经验。

待续……

轴承寿命预测实战:手把手教你用IEEE PHM2012数据集训练模型(附Python代码) 本文详细介绍了如何利用IEEE PHM2012数据集构建轴承剩余寿命预测模型,从数据预处理、特征工程到LSTM模型训练与部署,提供了完整的Python代码实现。通过实战案例,帮助读者掌握预测性维护中的关键技术,提升工业设备的运行安全与效率。 阅读详情

相关推荐

VL53L0X加盖玻片后精度暴跌?手把手教你完成串扰校准(CrossTalk Calibration)

本文详细解析了VL53L0X激光测距传感器加盖玻片后精度下降的原因,并提供了串扰校准(CrossTalk Calibration)的完整解决方案。通过分步指导和实用代码示例,帮助工程师恢复毫米级测距精度,适用于智能门锁、扫地机器人等应用场景。

weixin_33708432的博客 539

dropdownlist数据绑定

在web.config配置文件连接数据库     新建一个 SqlHelp 类 string scon = System.Configuration.ConfigurationManager.ConnectionStrings["scon"].ConnectionString;       ///        /// 执行查询的方法返回的是一个dataset       ///

zhangchangguo的专栏 364

基于MATLAB的基本数字调制解调系统的设计

基于MATLAB的基本数字调制解调系统的设计一、摘要现代通信系统要求通信距离远、通信容量大、传输质量好,作为其关键技术之一的调制解调技术一直是人们研究的一个重要方向。本文以MATLAB为软件平台,充分利用其提供的通信工具箱和信号处理工具箱中的模块,对数字调制解调系统进行Simulink设计仿真,并且进行误差分析。调制与解调是通信系统中十分重要的一个环节,针对不同的信道环境选择不同的调制与解调方式可...

m0_55395440的博客 5549

DropdownList绑定的两种方法

 动态绑定方法一:动态绑定数据库中的字段。SqlConnection conn = UtilitySqlClass.OperateDataBase.ReturnConn();string strSQL = "select * from CompanyType";SqlDataAdapter ada = new SqlDataAdapter(strSQL, conn)

qiushengb的专栏 7万+

【数据集】waymo motion dataset介绍与数据解析可视化

waymo motion数据集下载,数据描述,数据特征和地图特征,数据解析并完成数据可视化

shuaixio的博客 5179

14、多标签分类与卷积神经网络在医学图像处理中的应用

本文探讨了多标签分类与卷积神经网络(CNN)在医学图像处理中的应用。文章详细介绍了多标签分类的概念和挑战,以及如何通过CNN进行高效、准确的分类任务。内容涵盖模型设计、损失函数选择、数据增强技术、类别权重调整等关键技术点,并结合实际案例,如白内障手术工具检测、视网膜血管分割等,展示了CNN在医学图像分析中的强大潜力。此外,还讨论了模型优化策略及面临的挑战与解决方案。

t8u9v0的博客 191

ASP.net DropDownList数据绑定及使用详解

1.       dropdownlist 绑定数据 1.1  固定绑定(适合已经固定的数据绑定到dropdownlist) 实例: 选择性别 男 女     1.2  动态绑定:(每次绑定都要清除一下原来的记录,例:ddlArea.Items.Clear();) 实例: SqlConnectionconn = new SqlConnection("server=.;

admindong的博客 2万+

harbor x509: certificate signed by unknown authority【20251222】

本教程通过「合并证书链(服务器端)+ 预置根 CA(客户端)」彻底解决了自签名证书的 x509 错误,同时集成了 Trivy 漏洞扫描,实现了 Harbor 从搭建到实用的全流程。证书链合并是服务器端的关键,确保客户端获取完整信任路径;客户端需同时配置「系统信任库 + Docker 信任目录」,避免 Docker 独立信任机制导致的问题;所有 IP 需保持一致(Harbor 配置、证书绑定、客户端访问),是避免错误的基础。

老韩的Linux云计算架构师进阶之路 681

动态绑定Dropdownlist

说来,很多的dropdownlist选项都不是固定的,是会动态改变的,一种方法是在页面上写死,改变时,直接修改页面就可以了。但是很多人是使用动态绑定的,因此dropdownlist的Text和Value是需要动态生成的。 首先我们来创建一个表来存放DropDownList的菜单选项: create table DDLItem --下拉菜单选项表 ( id int Identity Primary

doublewang的专栏 1018

医疗影像分析实战:肺炎X光片分类与分割

医疗影像分析实战:肺炎X光片分类与分割 ,人工智能,计算机视觉,大模型,AI,在医疗领域,医疗影像分析技术凭借其高效、精准的特点,成为疾病诊断与治疗的重要辅助手段。肺炎作为一种常见的呼吸道疾病,严重威胁人类健康,通过 X 光片对肺炎进行诊断是临床常用方法。利用计算机技术实现肺炎 X 光片的自动分类与分割,不仅能减轻医生的工作负担,还能提高诊断的准确性和效率。本文将深入讲解肺炎 X 光片分类与分割的实战过程,结合大量代码示例和关键概念解析,帮助读者掌握相关技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 3万+

安卓开发工程师在车载项目中的角色与技术实践

本文全面探讨了安卓开发工程师在车载项目中的关键角色,重点分析了技术栈(Kotlin/Java/Gradle)、岗位职责和任职要求。文章详细解读了车载安卓开发的核心技能,包括架构设计、性能优化和缺陷修复,并提供了20个针对性面试问题及答案。特别强调了车载环境的特殊需求,如硬件集成、安全认证和实时性要求。通过技术深度与实践案例的结合,为开发者和企业提供了从需求分析到系统优化的完整指导,旨在提升车载安卓开发的专业水平和招聘效率。

郑伟强dev的专栏 131

也谈谈动态绑定dropdownlist(1)

也谈谈动态绑定dropdownlist(1)   说来,很多的dropdownlist选项都不是固定的,是会动态改变的,一种方法是在页面上写死,改变时,直接修改页面就可以了。但是很多人是使用动态绑定的,因此dropdownlist的Text和Value是需要动态生成的。 首先我们来创建一个表来存放DropDownList的菜单选项: create table DDLItem --下拉菜单选项表 (

雾里寻踪 1万+

Android蓝牙中的Rfcomm协议介绍

RFCOMM(Radio Frequency Communications)是一种基于蓝牙技术的串口仿真协议,以下是详细介绍:一、协议概述二、工作原理三、应用场景

手机-手表蓝牙开发工程师的博客 712

也谈谈动态绑定dropdownlist(2)

也谈谈动态绑定dropdownlist(2)          在我的《也谈谈动态绑定dropdownlist(1)》的文章里,(http://blog.youkuaiyun.com/zsxfbj/archive/2004/07/08/36659.aspx)提到了的是利用dataset作为数据源来实现dataset的Item绑定。但是DataSet包含的内容和结构太多,我们只要求的是快速的绑定DropDown

雾里寻踪 3051

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

使用DataGrid动态绑定DropDownList

使用DataGrid动态绑定DropDownList hbzxf (阿好)http://www.cnblogs.com/hbzxf         简单的使用模板列绑定DropDownList,初学者想必都会了,但有时候,我们要做的就是在编辑的时候想让某一列定制为DropDownList,并且根据正常情况下显示的值自动变换DropDownList中所选的值,然后保存选择后的值到数据库或XML文件

张锋的博客 7997

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

如何动态绑定DataList 的EditItemTemplate中的控件DropDownList

今天遇到这么个情况 需要访问DataList中EditItemTemplate中的控件,并给这个控件动态绑定另外一个表中的数据 最初总是无法访问 查阅MSDN,我注意到DataListe的这几个方法有点相关   OnItemCommand ItemCommand 事件在单击 DataList 控件中的任一按钮时引发,并且当您具有在 DataList 控件中有自定义 CommandNam

shortail的空间 1493

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

DataGrid中DropDownList的动态绑定和触发DropDownList事件

我在写DataGrid控件中子控件事件时候,DropDownList的事件相比而言麻烦一点,在此,我简单罗列如下(我在此处为了方便这里都用DataGrid中的隐藏列存储我所要的数据):一、DropDownList的动态绑定,只需在DataGrid1_ItemDataBound的事件中,取出数值进行匹配,便可以了,具体代码如下:private void DataGrid1_ItemDataBound

johncools的博客 1359

C#ASP.NET中 DropDownList下拉菜单实现动态绑定数据库中字段。

DropDownList的动态绑定数据 DataSet dst = bll.Flow_Node();//数据库查询数据 DataTable dt = dst.Tables[0].Copy();//复制一份表格 DataTable sourcee = dt; DropDownList.Items.Clear();//清除 DropDownList.DataSource = dte; Dr...

weixin_45685313的博客 2117

dropdownlist绑定方法

也谈谈动态绑定dropdownlist 优快云 2004年7月31日 阅读:6428次   说来,很多的dropdownlist选项都不是固定的,是会动态改变的,一种方法是在页面上写死,改变时,直接修改页面就可以了。但是很多人是使用动

1万+

dropdownlist动态绑定viewstate禁用后取值

一直对asp.net页面周期了解得很少,尤其是一些底层机制,也一直将过且过,今天看到有个问题 就是禁用viewstate后DropDownList取不到值(DropDownList动态绑定的,不是前台赋值),自己测试了下也确实取不到。 然后网上找了下资料,其实是取得到的,只是逻辑不对 以下是摘自csdn-Jinglecat(晓风)的话 实际上即使你禁用ViewState的,也是可...

weixin_30929195的博客 132
上一篇: Javascript Confirm Form Submission
下一篇: 在DataGrid中添加一个合计字段
Hackson
博客等级 码龄25年 8粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值