当前位置: 移动技术网 > IT编程>开发语言>c# > 深入DropDownList用法的一些学习总结分析

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

2019年07月18日  | 移动技术网IT编程  | 我要评论
首先绑定数据。现收集dropdownlist 的三种 databind 方法如下:基础数据绑定:用listitem直接枚举出来,适用于不需要修改的类型列表。复制代码 代码如
首先绑定数据。
现收集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()));
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网