深入DropDownList用法的一些学习总结分析

首先绑定数据。
现收集dropdownlist 的三种 databind 方法如下:
基础数据绑定:用ListItem直接枚举出来,适用于不需要修改的类型列表。


代码如下:

<asp:DropDownList ID="DropDownList1" runat="server">
    <asp:ListItem Value="设计家园">设计家园</asp:ListItem>
    <asp:ListItem Value="网页设计">网页设计</asp:ListItem>
    <asp:ListItem Value="网络编程">网络编程</asp:ListItem>
    <asp:ListItem Value="酷站欣赏">酷站欣赏</asp:ListItem>
</asp:DropDownList>

动态绑定方法一:动态绑定数据库中的字段。


代码如下:

SqlConnection conn = system.Configuration.ConfigurationSettings.AppSettings["SqlConnection"].ToString();
string strSQL = "select * from CompanyType";
SqlDataAdapter ada = new SqlDataAdapter(strSQL, conn);
DataSet ds = new DataSet();
ada.Fill(ds, "CompanyType");
DropDownList1.DataSource = ds.Tables["CompanyType"].DefaultView;
DropDownList1.DataValueField = ds.Tables["CompanyType"].Columns[1].ColumnName;
DropDownList1.DataTextField = ds.Tables["CompanyType"].Columns[1].ColumnName;
DropDownList1.DataBind();
ds.Dispose();

//其中datavaluefield属性是控件的一个关键属性,cs页面通过value值获取;
//而datatextfield是显示在视图页面的文本。

动态绑定方法二:利用DropDownList.Items.Add方法。


代码如下:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        SqlConnection conn = system.Configuration.ConfigurationSettings.AppSettings["SqlConnection"].ToString();
        try
        {
conn.Open();
this.DropDownList1.Items.Add("");
string strSQL = "select CompanyType from CompanyType";
SqlCommand com = new SqlCommand(strSQL, conn);
SqlDataReader dr = com.ExecuteReader();
while (dr.Read())
        {
        this.DropDownList1.Items.Add(dr["CompanyType"].ToString());
        //或者
        //DropDownList_name.Items.Add(new ListItem(TEXT, Value));
    }
}
catch (Exception ex)
{
    Response.Write("<scirpt>alert('" + ex.Message.ToString() + "')</script>");
}
finally
{
    conn.Close();
}
}
}

绑定之后,我们来实现dropdownlist 的联动功能。
要实现联机变动,就要用到selectedindexchange 事件,记得要把AutoPostBack 的值设为 "true"
下面是一个最简单的联动效果。


代码如下:

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList2.Items.Clear();
        if (DropDownList1.Items[0].Selected)
        {
DropDownList2.Items.Add("陆小凤");
DropDownList2.Items.Add("楚留香");
        }
        else
        {
DropDownList2.Items.Add("杨过");
DropDownList2.Items.Add("小龙女");
        }
    }

如果要实现无刷新联动,自己去找度娘。网上有很多很好的文档案例。

同理,如要下级也自动获取对于的数据字段。
string id=dropdownlist1.SelectedValue;
可以然后根据此"id“去数据库中读出相应部分的数据

最后,是一个不错的通过DataSet逐行读数据的例子,业务系统“计划中心”的下拉列表.


代码如下:

DataSet Ds = null;
string SqlStr = null;
SqlServer sqlserverDB = new SqlServer();
SqlStr = "select name,account from qdvc_usersimple";
Ds = sqlserverDB.DataSetRun(null, SqlStr, "qdvc_usersimple");
foreach (DataRow dataRow in Ds.Tables[0].Rows)
{
    object[] itemArray = dataRow.ItemArray; //获取dataRow的所有的单元格里的数据Array
    // itemArray[0].ToString()是"name",itemArray[1].ToString()是"account"
    DropDownList_name.Items.Add(new ListItem(itemArray[0].ToString(), itemArray[1].ToString()));
}

(0)

相关推荐

  • C#动态生成DropDownList执行失败原因分析

    本文实例分析了C#动态生成DropDownList执行失败原因.分享给大家供大家参考.具体如下: 今天研究DDL控件的动态生成的时候遇到了点问题 ,当我写代码的时候发现点击button后 只能创建一个DDL控件,再点击就没有作用了,后来我在里面设置了变量,看看这个事件是不是没有执行,发现变量并没有改变,刚刚有点疑惑不解,后来发现当我触发其它事件的时候,控件消失了!我想,button的click事件会回传,而回传后新建的控件就会消失,我才明白,原来每次都有创建新的控件,只是每次再次点击button

  • ASP.NET DropDownListCheckBox使用示例(解决回发问题)

    这个是根据LigerUI改的,解决了回发问题  资料地址 http://ligerui.com/demos/comboBox/comboBoxMul.htm 具体代码 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CheckBoxList.aspx.cs" Inherits="CheckBoxList" %> <!DOCT

  • DropDownList绑定数据表实现两级联动示例

    场景一:平时我们在DropDownList控件下添加下拉选项时,都会使用它的Item.Add方法,直接在代码下添加.如果我们想添加或修改下拉选项,则必须去修改源代码.如果几个DropDownList控件的下拉选项相同,我们则需要重复添加好多次,后期的维护工作很不方便. 场景二:我们在12306网站买票时,肯定遇到过这么一种情景:我们需要先选定目的地的省份,选完省份后在城市选框中会自动加载该省份的城市,实现两级联动. 针对以上两个场景,我们可以用DropDownList直接绑定数据表,根据选择的省

  • JS简单操作select和dropdownlist实例

    本文实例讲述了JS简单操作select和dropdownlist的方法.分享给大家供大家参考.具体实现方法如下: 一.js选中服务器控件select与dropdownlist 1. js操作服务器控件select 复制代码 代码如下: <select id="selectID" onchange="return showMessage()">      <option value="0">==请选择==</optio

  • DropDownList获取的SelectIndex一直为0的问题

    1.想要DropDownList自动提交必须设置AutoPostBack="true"属性,下面是代码: 复制代码 代码如下: <asp:DropDownList ID="ddlNameList" runat="Server" Height="30" AutoPostBack="True" onselectedindexchanged="ddlNameList_SelectedIndexCh

  • DropDownList设置客户端事件思路

    假设:数据源控件GrdiView,无刷新UpdatePannel,友情提示UpdateProgress,分页下拉框DropDownList 一般情况下:Gridview的分页有linkbutton或者button,这样要是想让UpdateProgress提示,很简单,先让GridView隐藏,然后给它加个OnClientClick就搞定! 在DropDownList的onchange事件里: function selectChange() { if ($("select option"

  • 基于Jquery的将DropDownlist的选中值赋给label的实现代码

    jquery代码 复制代码 代码如下: $(function() { $("#DropDownList1").bind("change", function() { $("#Label1").text($("#DropDownList1 option:selected").text()); }); 或者 复制代码 代码如下: $("#DropDownList1").bind("change&quo

  • 解决DropDownList总是选中第一项的方法

    在网页开发的过程中,在页面中使用了一个 DropDownList 服务器控件,发现了一个很奇怪的问题,不论在页面中选中哪一项,在后台获取到的值总是第一项的值,看了好久也没有发现问题出在哪里,DropDownList控件在开发中已经使用了无数遍了,对照了其他代码都是一样的! 经过了几分钟之后,实在是看不出问题在哪里只好到网上查找答案,网上果然有不少人遇到"一样"的问题-- DropDownList 总是选中第一项.网上的解决方法都是说在 DropDownList 绑定时要在 Page_L

  • ASP.NET MVC中为DropDownListFor设置选中项的方法

    在MVC中,当涉及到强类型编辑页,如果有select元素,需要根据当前Model的某个属性值,让Select的某项选中.本篇只整理思路,不涉及完整代码. □ 思路 往前台视图传的类型是List<SelectListItem>,把SelectListItem选中项的Selected属性设置为true,再把该类型对象实例放到ViewBag,ViewData或Model中传递给前台视图. 通过遍历List<SelectListItem>类型对象实例 □ 控制器 public Action

  • 深入DropDownList用法的一些学习总结分析

    首先绑定数据.现收集dropdownlist 的三种 databind 方法如下:基础数据绑定:用ListItem直接枚举出来,适用于不需要修改的类型列表. 复制代码 代码如下: <asp:DropDownList ID="DropDownList1" runat="server">    <asp:ListItem Value="设计家园">设计家园</asp:ListItem>    <asp:Lis

  • Java List 用法详解及实例分析

    Java List 用法详解及实例分析 Java中可变数组的原理就是不断的创建新的数组,将原数组加到新的数组中,下文对Java List用法做了详解. List:元素是有序的(怎么存的就怎么取出来,顺序不会乱),元素可以重复(角标1上有个3,角标2上也可以有个3)因为该集合体系有索引 ArrayList:底层的数据结构使用的是数组结构(数组长度是可变的百分之五十延长)(特点是查询很快,但增删较慢)线程不同步 LinkedList:底层的数据结构是链表结构(特点是查询较慢,增删较快) Vector

  • php函数之strtr和str_replace的用法详解以及效率分析 原创

    目录 一. str_repalce()用法 二. strtr()用法 三. 效率对比 四. 总结 PHP中主要用strtr()和str_repalce()这两个函数替换字符串和数组,但你们都知道他们这两个函数的区别和用法吗?有不少文章在说使用strtr函数比str_replace快4倍,那为什么很多时候都在用str_replace,到底应该使用哪个函数呢? 一. str_repalce()用法 str_replace(find,replace,string,count)find:规定要查找的字符

  • JAVA多线程与并发学习总结分析

    1.计算机系统使用高速缓存来作为内存与处理器之间的缓冲,将运算需要用到的数据复制到缓存中,让计算能快速进行:当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了. 缓存一致性:多处理器系统中,因为共享同一主内存,当多个处理器的运算任务都设计到同一块内存区域时,将可能导致各自的缓存数据不一致的情况,则同步回主内存时需要遵循一些协议. 乱序执行优化:为了使得处理器内部的运算单位能尽量被充分利用. 2.JAVA内存模型目标是定义程序中各个变量的访问规则.(包括实例字段.静态字段和构

  • Java多态用法与注意点实例分析

    本文实例讲述了Java多态用法与注意点.分享给大家供大家参考,具体如下: 一 点睛 向上转型:或者称为向父类转型.父类的对象通过子类对象实例化,实际上就是对象的向上转型.向上转型不需要进行强制类型转换,但是向上转型会丢失精度. 向下转型:或者称为向子类转型.也就是说父类对象可以转换为子类对象,但是,此时必须进行强制类型转换. 向上转型时,父类对象所能看见的方法依然是本类之中定义的方法(即被子类覆盖的方法).如果子类扩充了一些新的方法,父类是看不见的. 二 父类对象找不到子类的扩充方法 1 代码

  • VBS数组函数学习实例分析

    下面来具体讲解下几个数组函数的使用方式: Array函数 返回包含数组的Variant. Array(arglist) arglist参数是赋给包含在Variant中的数组元素的值的列表(用逗号分隔).如果没有指定此参数,则将会创建零长度的数组. 说明 用于引用数组元素的表示符,由跟随有括号的变量名组成,括号中包含指示所需元素的索引号.在下面的示例中,第一条语句创建名为 A 的变量.第二条语句将一个数组赋值给变量 A.最后一条语句将包含在第二个数组元素中的值赋值给另一个变量. arr = arr

  • 正则表达式学习经验分析第1/2页

    当然,为了指定一种模式,使用...这种记号是不够精确的.你需要精确地指定什么样的字符排列是一个合法的匹配.当描述某种模式时,你需要使用一种特殊的语法. 这里有一个简单例子.正则表达式 [Jj]ava.+ 匹配下列形式的任何字符串: 首字母是J或j  后续的三个字母是ava  字符串的剩余部分由一个或多个任意字符组成 例如,字符串"javaness"匹配这个特殊的正则表达式,但是字符串"Core Java"却不匹配. 如你所见,你需要了解一点语法来理解正则表达式的含意

  • SQL中distinct的用法(四种示例分析)

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只 用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰很久,用distinct不能解决的话,我只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的,所以浪费了我大量时间. 在表中,可能会包含重复值.这并不成问题,不过,有时您也许希

  • PHP中static关键字原理的学习研究分析

    看PHP手册的时候发现了下面这样一段代码: 复制代码 代码如下: <?php function Test() { static $count = 0; $count++; echo $count; if ($count < 10) { Test(); } $count--; } ?> 执行结果如下: 这是一个递归的函数,声明的静态变量count记录次数,输出1~10. 我在看的时候有个疑惑,递归调用的时候 static $count = 0; 语句会重复执行,这为什么不会导致count变

  • javascript中call,apply,bind的用法对比分析

    关于call,apply,bind这三个函数的用法,是学习javascript这门语言无法越过的知识点.下边我就来好好总结一下它们三者各自的用法,及常见的应用场景. 首先看call这个函数,可以理解成"借用","请求".想像一下如下的情景:你孤单一人漂泊在外,有急事想往家里打电话,可是很不巧,手机欠费了,或者没电了,或者掉坑里了,总之你的手机就是用不成.可是你非打这个电话不可,于是你可以去借一下朋友的手机,或者借用一下邻居的手机,或者公用电话,这样呢,你就可以在自己

随机推荐