去掉循环 if (k==1)
{
wz1.Items[wz1.SelectedIndex].Selected=false;
wz1.Items[1].Selected=true;
wz2.Items[wz2.SelectedIndex].Selected=false;
wz2.Items[2].Selected=true;
wz3.Items[wz3.SelectedIndex].Selected=false;
wz3.Items[3].Selected=true;
}
……不太明白你的意思,你试试。
{
wz1.Items[wz1.SelectedIndex].Selected=false;
wz1.Items[1].Selected=true;
wz2.Items[wz2.SelectedIndex].Selected=false;
wz2.Items[2].Selected=true;
wz3.Items[wz3.SelectedIndex].Selected=false;
wz3.Items[3].Selected=true;
}
……不太明白你的意思,你试试。
解决方案 »
- 求帮忙,整个数据库的明码都被加入了东西
- 求 正则 写法 正在做采集程序
- vs2005用户控件取值问题
- VS2005运行问题
- 将 varchar 值 '172-32-1176' 转换为数据类型为 int 的列时发生语法错误。
- 没分了 帮帮忙啊 正则表达式高手请进 急啊!!!!!!!
- 自定义控件的问题
- 各位:请问哪里有免费的Web页面编辑控件!(在线等待,马上给分)
- webbrowser 加载页面时,显示不对
- 请教一个关于怎么样调用.pdf文件的问题。
- 如何把一个用户自定义函数返回的ArrayList数组的值付给一个Array数组或者是ArrayList数组
- c#程序里自己定义的函数能返回数组吗,最好有源代码
DropDownList2.DataBind(),这样第二个dropdownlist的内容就会改变了,不过之前你要将它的DataValueField和DataTextField还有DataSource指定好,最后还要加上这个If Not IsPostBack Then
DropDownList2.DataBind()
end if
wz3.Items[3].Selected=true;
会造成数组越位.
是
wz1.Items[0].Selected=true;
wz2.Items[1].Selected=true;
wz3.Items[2].Selected=true;我的程序是这样的.测试后
wz1里面是wz0001
wz2里面是wz0002
wz3里面是wz0003不知道是不是你要的结果.
<!--
@Author : Martin;
@Version: 2003-2-25
-->
<%@ Page language="C#" runat="server" debug=true%>
<html>
<head>
<script language="C#" runat="Server">
public void Page_Load(object sender, EventArgs e) {
int i;
int k;
for (i=0;i<3;i++)
{
k=i+1;
if (k==1)
{
wz1.Items[wz1.SelectedIndex].Selected=false;
wz1.Items[0].Selected=true;
}
if (k==2)
{
wz2.Items[wz2.SelectedIndex].Selected=false;
wz2.Items[1].Selected=true;
}
if (k==3)
{
wz3.Items[wz3.SelectedIndex].Selected=false;
wz3.Items[2].Selected=true;
}
} }
</script>
</head>
<body>
<form runat="server">
<asp:DropDownList id=wz1 runat=server>
<asp:ListItem Value="wz0001">wz0001</asp:ListItem>
<asp:ListItem Value="wz0002">wz0002</asp:ListItem>
<asp:ListItem Value="wz0003">wz0003</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList id=wz2 runat=server>
<asp:ListItem Value="wz0001">wz0001</asp:ListItem>
<asp:ListItem Value="wz0002">wz0002</asp:ListItem>
<asp:ListItem Value="wz0003">wz0003</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList id=wz3 runat=server>
<asp:ListItem Value="wz0001">wz0001</asp:ListItem>
<asp:ListItem Value="wz0002">wz0002</asp:ListItem>
<asp:ListItem Value="wz0003">wz0003</asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>
先有个函数是加ListItem的:
void aa()
{
wz1.Items.Clear();
wz3.Items.Clear();
wz2.Items.Clear();
int k;
int i;
for (i=0;i<3;i++)
{
k=i+1;
ListItem item1=new ListItem();
item1.Text="WZ00"+k;
item1.Value="WZ00"+k; wz1.Items.Add(item1);
wz2.Items.Add(item1);
wz3.Items.Add(item1);
}
}然后有一个按扭:
private void Button1_Click(object sender, System.EventArgs e)
{
aa();
int i;
for (i=0;i<3;i++)
{
if (i==0)
{
wz1.Items[wz1.SelectedIndex].Selected=false;
wz1.Items[0].Selected=true;
}
if (i==1)
{
wz2.Items[wz2.SelectedIndex].Selected=false;
wz2.Items[1].Selected=true;
}
if (i==2)
{
wz3.Items[wz3.SelectedIndex].Selected=false;
wz3.Items[2].Selected=true;
}
}
}
结果三个DropDownList的选择都是WZ003
三个DropDownList 用一个ListItem,在用Button1_Click 里面wz1.Items wz2.Items
wz3.Items 指的就是同一个ListItem.所以当运行到wz3.Items[2].Selected=true 就会
把这个listitem的选择定在第三个item上.你只有用三个listitem分别给DropDownList
例如:
for (i=0;i<3;i++)
{
k=i+1;
ListItem item1=new ListItem();
ListItem item2=new ListItem();
ListItem item3=new ListItem(); item1.Text="WZ00"+k;
item1.Value="WZ00"+k; item2.Text="WZ00"+k;
item2.Value="WZ00"+k; item3.Text="WZ00"+k;
item3.Value="WZ00"+k; wz1.Items.Add(item1);
wz2.Items.Add(item2);
wz3.Items.Add(item3);
}
second:在OnSelectedIndexChanged事件中把wz1当前选择的值作为wz2要绑定的条件之一,依次类推。
这里有一个简单例子:
//绑定DropDownList的方法:
protected void BindDropDown(string sSQL, string sValueField, string sTextField, DropDownList dropdown)
{
SqlConnection oConn = new SqlConnection(ConnString);
oConn.Open();
SqlCommand cmd = new SqlCommand(sSQL, oConn);
SqlDataReader dr = cmd.ExecuteReader();
dropdown.DataSource = dr;
dropdown.DataValueField = sValueField;
dropdown.DataTextField = sTextField;
dropdown.DataBind();
dr.Close();
dropdown.SelectedIndex = 0;
}
//OnSelectedIndexChanged="ChangeSelection"
protected void ChangeSelection(Object sender, EventArgs e)
{
DropDownList d = (DropDownList)sender;
if ( d == wz1)
{
string sID = wz1.SelectedItem.Value;
BindDropDown("select * from t_table where c_columns=" + sID,"c_id","c_mc",wz2);
string sID = wz2.SelectedItem.Value;
BindDropDown("select * from t_table1 where c1_columns=" + sID,"c1_id","c1_mc",wz3);
}
}you try: