|
我目前的联动菜单实现了,以下是代码.麻烦路过的人帮忙看看,本人初学啊,没分了.
主要为了实现两个dropdownlist的部门与姓名联动,再加上一个textbox的值,一起提交到表三
我的数据库是以下这样关联,请专家帮忙看看对不对.
表一(部门):
sortid sort
1 研发部
2 财务部
表二(姓名):
typeid typename sortid
1 张三 1
2 李四 2
3 王五 1
表三(全部数据):
id typename typeid sort wenti ipaddress
1 张三 1 研发部 网断了哦 192.168.0.8
2 李四 2 财务部 打印机不行了 192.168.0.10
存储过程:
CREATE proc classdata
@usort varchar(50),
@utypename varchar(50),
@uwenti varchar(50)
as
insert into class_data (sort,typename,wenti) values (@usort, @utypename, @uwenti)
GO
aspx.cs代码:
private void xmlBind(string sortid)
{
string mystr = "";
string sql = "select typename,typeid from class_2 where sortid = " + sortid ;
DataTable mytab = this.Get_Dt(sql);
//将取到的值形成: ID|名称,ID|名称...这样的形式
if(mytab.Rows.Count != 0)
{
for(int i=0;i<mytab.Rows.Count;i++)
{
mystr += "," + mytab.Rows[i]["typeid"].ToString() + "|" + mytab.Rows[i]["typename"].ToString();
}
mystr = mystr.Substring(1);
}
//输出页面
this.Response.Write(mystr);
this.Response.End();
}
private void DownBind1()
{
//显示所有的主分类
string sql = "select sortid,sort from class_1 order by sortid asc ";
DataTable mytab = this.Get_Dt(sql);
//绑定第一个下拉框
this.mydown1.DataSource = mytab;
this.mydown1.DataValueField = "sortid";
this.mydown1.DataTextField = "sort";
this.mydown1.DataBind();
this.mydown1.Items.Insert(0,new ListItem("请选择分类",""));
ListItem myItem = this.mydown1.Items.FindByValue("1");
if(myItem != null)
{
myItem.Selected = true;
}
this.mydown1.Attributes.Add("onchange","XmlPost(this,'" + this.mydown2.ClientID + "');");
}
private void DownBind2()
{
//默认显示分类号为1的所有子类
string sql = "select sortid,typename,typeid from class_2 where sortid =1" ;
DataTable mytab = this.Get_Dt(sql);
//绑牢控件
this.mydown2.DataSource = mytab;
this.mydown2.DataSource = mytab;
this.mydown2.DataValueField = "typeid";
this.mydown2.DataTextField = "typename";
this.mydown2.DataBind();
//添加一个空的首行
this.mydown2.Items.Insert(0,new ListItem("请选择名称",""));
} |
|