-
C#教程之深入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()));
}
现收集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()));
}
栏目列表
最新更新
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
Python初学者友好丨详解参数传递类型
如何有效管理爬虫流量?
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比
一款纯 JS 实现的轻量化图片编辑器
关于开发 VS Code 插件遇到的 workbench.scm.
前端设计模式——观察者模式
前端设计模式——中介者模式
创建型-原型模式