省市县三级联动(第二种方法)
来源:互联网 发布:网络与信息安全ppt 编辑:程序博客网 时间:2024/04/29 00:54
以下为省市县的数据表,如图所示,图中只是数据表的一部分,要完成省市县三级联动。首先在数据库中建立好下面的数据表:
在程序的前台加上三个下拉文本框,分别为省市县,如图所示:
namespace ThreeClass
{
public partial class Demo1 : System.Web.UI.Page
{
string connstr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
DataBd();
}
}
private void DataBd()////这一部分是写的关于省份的部分
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM province";
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
cmd.ExecuteNonQuery();
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
{
string name = dt.Tables[0].Rows[i]["province"].ToString();
string id = dt.Tables[0].Rows[i]["provinceID"].ToString();
ListItem list = new ListItem(name, id);
ddlprovince.Items.Add(list);
}
}
}
}
//////开始选择市
protected void ddlprovince_SelectedIndexChanged(object sender, EventArgs e)
{
ddlcity.Items.Clear();////每次加载前清空一下
int pid = Convert.ToInt32(ddlprovince.SelectedValue);////吧省份的下拉文本框中选中的值传给市
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM city WHERE father=@father";
cmd.Parameters.AddWithValue("@father",pid);
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
cmd.ExecuteNonQuery();
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
{
string name = dt.Tables[0].Rows[i]["city"].ToString();
string id = dt.Tables[0].Rows[i]["cityId"].ToString();
ListItem list = new ListItem(name, id);
ddlcity.Items.Add(list);
}
}
}
}
///////开始选择县
protected void ddlcity_SelectedIndexChanged(object sender, EventArgs e)
{
ddlarea.Items.Clear();
int pid = Convert.ToInt32(ddlcity.SelectedValue);
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "SELECT * FROM area WHERE father=@area";
cmd.Parameters.AddWithValue("@area", pid);
DataSet dt = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dt);
cmd.ExecuteNonQuery();
for (int i = 0; i < dt.Tables[0].Rows.Count; i++)
{
string name = dt.Tables[0].Rows[i]["area"].ToString();
ListItem list = new ListItem(name);
ddlarea.Items.Add(list);
}
}
}
}
}
}
程序运行结果如下:
还有一种简单的方法,但是我还没弄出来,弄到市,县老是不出,有待继续。
- 省市县三级联动(第二种方法)
- 省市县三级联动(第三种方法)
- 省市县三级联动(第三种方法)的优化
- 三级联动(省市县)
- PHP+Ajax三种方法实现省市县三级联动
- 省市县(区三级联动) 实现方法
- 省市县三级联动
- 省市县三级联动
- 省市县三级联动
- 省市县三级联动
- 省市县三级联动
- 省市县三级联动
- 省市县,三级联动。
- 省市县三级联动
- 省市县三级联动
- 省市县三级联动
- 省市县 三级联动
- 省市县三级联动
- 摄像头驱动gspcav+视频服务器servfox+客户端spcaview的移植
- 事务实例
- CRM后的数据分析
- mahout Taste 代码分析, 可运行在hadoop上的分布式版本
- 《华清远见学习手记》之 在FS2410上搭建servfox视频服务器
- 省市县三级联动(第二种方法)
- uva11218 - KTV
- C++ 多线程编程
- spring管理不了thread中的事务(java)
- 文件体验之读取、处理数据
- org.apache.tomcat.util.http.Parameters processParameters
- Java生成唯一GUID
- servfox源码分析
- 利用堆栈溢出写入代码