ASP.NET控件and代码实现二级联动查询
业务逻辑
我们要实现的一个功能是:在院系表、专业表和学生表三个表中实现选择院系和选择专业的二级联动查询。
我们首先看我们要查询的数据总内容
如图 多个院系,每个院系又有多个专业,每个专业又有多名学生数据。
三张表
NO.1 院系表
NO.2 专业表
NO.3 学生表
用控件实现二级联动查询
用控件的方法比较简单
我们用两个DropDownList
控件,第一个数据源是院系表,显示院系名字以供选择
第二个DropDownList
数据源是专业表,且where
条件限制院系。注意,第一个DropDownList
需要设置属性AutoPostBack
为true
然后点击button
查询按钮
用Gridview
控件显示数据,数据源设为学生表,where
条件限制学生专业与第二个DropDownList
一致。
效果如下
用代码实现二级联动查询
使用控件实现的功能虽然简单,但是并不灵活。
比如,还拿刚才的数据来说,我们最终实现的效果是我们实现了院系和专业的二级联动,查询出对应专业的学生。
由于最后GridView
控件数据源是学生表,所以只能显示学生表中的内容,也就是说只能显示专业编号和院系编号,如果我们需要显示专业名字和院系名字,显然,需要联结查询,而用设置控件的方式,我们没办法做联结查询,所以,我们需要用代码为DropDownList
绑定数据源。
步骤:
- 写sql语句
- 连接数据库执行sql语句
- 将查到的数据存入数据集
- 指定数据控件的数据源,并绑定
我们把2,3,4步封装成方法Bind
另外注意:写完动态代码,由于我们是用代码为控件设置的数据源,需要再去设置控件的编辑列
,设置为自动生成列
。
我们在Button
按钮里写动态代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;public partial class view : System.Web.UI.Page
{protected void Page_Load(object sender, EventArgs e){if (!IsPostBack)//页面首次加载时,显示全部学生表数据{string sql = "select * from tbstudent";Bind(sql, GridView1);}}protected void Button1_Click(object sender, EventArgs e)//选择好院系和专业 点击查询{string proid = DropDownList2.SelectedValue;string sql = "select * from tbstudent inner join tbprofessional on studentproid=proid where studentproid='"+proid+"'";Bind(sql,GridView1);}public void Bind(string sql, GridView gv) //为GridView控件绑定数据源{SqlCommand cmd = new SqlCommand();cmd = DB.comd(sql);//打开并连接数据库 传入sql语句DataSet ds = new DataSet();//要引入using System.Data;SqlDataAdapter sda = new SqlDataAdapter();sda.SelectCommand = cmd;sda.Fill(ds);//查到的数据存入内存中的数据集gv.DataSource = ds;//指定数据控件的数据源gv.DataBind();//绑定数据源}
}
ASP.NET控件and代码实现二级联动查询相关推荐
- [导入]Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载]...
Asp.net 2.0 自定义控件开发[创建自定义浮动菜单FloadMenu控件][示例代码下载] 文章来源:http://blog.csdn.net/chengking/archive/2007/0 ...
- 使用 ASP+ DataGrid 控件来创建主视图/详细资料视图
Nikhil Kothari Microsoft Corporation 2000年8月 简介 Microsoft® Visual Studio.NET 的下一发行版包括 DataGrid Web 控 ...
- 一起谈.NET技术,asp.net控件开发基础(18)
本篇继续上篇的讨论,可能大家已经在使用asp.net2.0了,DataSource属性不再使用,而是跟数据源控件搭配使用.现在讨论的绑定技术都是基于1.1版本,先熟悉一下,本质上是一样的,这样一步步的 ...
- 控件包含代码块,因此无法修改控件集合
文章转载至: http://www.olnote.com/itlife/note/100000003.aspx 控件包含代码块(即<% ... %>),因此无法修改控件集合. 说明: 执 ...
- ASP:Literal控件用法
ASP:Literal控件用法 刚开始学.NET的朋友可能不清楚Literal和Label到底有什么区别,其实它们也只有一个区别,就是在转换成客户端Html代码后,Label就成了<span&g ...
- 一起谈.NET技术,asp.net控件开发基础(20)
上面我们讨论了数据绑定控件的做法,但都未涉及到asp.net2.0中数据源控件的用法,让用惯了数据源控件的人可能感觉不适应.这次我们就开始讨论在asp.net2.0中,我们该如何重新定义数据绑定控件. ...
- Silverlight 3.0 不再包含 asp:silverlight 控件
从 Silverlight 2 升级到 Silverlight 3 可能会报如下错误,程序中可能引用了 asp:silverlight 控件: Could not load file or assem ...
- asp.net控件本质
.net控件本质 在我的一个项目中需要对于控件进行区分总结,我在网上找了找加上自己的实际测试总结如下:(如果有什么不正确的请即使指出,一起讨论,大家共同进步) asp.net之所以现在 ...
- Asp.net控件之异同:HTML控件与Web服务器控件
Asp.net之所以现在开发方便和快捷,关键是它有一组强大的控件库,包括web服务器控件,web用户控件,web自定义控件,html服务器控件和html控件等.这里我主要说说html控件.html服务 ...
- asp.net控件库FineUI使用入门图解
FineUI是一个基于 jQuery / ExtJS 的 ASP.NET 控件库,其宣传语是: 创建 No JavaScript,No CSS,No UpdatePanel,No ViewState, ...
最新文章
- php查询mysql放到数组中_php查询mysql数据库并将结果保存到数组的方法
- 消息中间件的多个企业级场景案例--分析
- 关于readdir返回值中struct dirent.d_type的取值有关问题(转)
- python最简单的wsgi例子
- apache 支持php urlmanager,Yii中urlManager的配置
- 【强化学习入门】梯度赌博机算法中,偏好函数更新:梯度上升公式是精确梯度上升的随机近似的证明
- matlab数字仿真实验,matlab数值仿真
- MATLAB下载安装
- Webix JavaScript UI 新版得心应手
- 求助:python爬取国家统计局多个列表数据时出错
- 六轴传感器icm20602的自检和校准学习
- 对ashx请求用Gzip,Deflated压缩
- 音视频专题--音频剪辑原理
- 处理安全检查的项目代码异常解决记录
- css有几种选择器,有什么区别?
- excel数据透视表_无痛的方式隐藏Excel数据透视表项
- Android 图片波浪动画,Android水纹波浪动画
- 二、对HEVC/H.265视频编解码器进行隐写的基本思路
- 阶乘约数【蓝桥杯国赛】
- 深度优先搜索和深度优先搜索的区别