• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

我用dropdownlist控件做了数据绑定,但却显示不出结果来

sandywind 2004-11-01 11:48:31
我用一个dropdownlist 控件做选择,另一个相应做出显示,但却显示不出效果来。各位高手帮忙找找原因。
public void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
string strvalue="";
for (int inti=0; inti< DropDownList1.Items.Count-1;inti++)
{
if(DropDownList1.Items[inti].Selected)
{
strvalue=DropDownList1.Items[inti].Value;}
}
int intvalue=int.Parse(strvalue);
string connectstring= "user id=sa;password=;initial catalog=vinegar;data source=thumb;Connect Timeout=30 ";
SqlConnection sqlConnection1=new SqlConnection(connectstring);
sqlConnection1.Open();
SqlDataAdapter sqlCommand1= new SqlDataAdapter("checkoption",sqlConnection1);
sqlCommand1.SelectCommand.CommandType=CommandType.StoredProcedure;
sqlCommand1.SelectCommand.Parameters.Add("@value", intvalue);
DataSet dataSet1=new DataSet();
sqlCommand1.Fill(dataSet1,"NocheckList");
sqlConnection1.Close();
DropDownList2.DataSource=dataSet1.Tables["NocheckList"].DefaultView ;
DropDownList2.DataBind();
}
附存储过程:
CREATE procedure dbo.checkoption
@value int
AS
if @value=0(
select AccesoryID from NoCheckList )
if @value=1(
select AccesoryName from NoCheckList)
if @value=2(
select Batch from NoCheckList)
if @value=3(
select vendor from NoCheckList)
if @value=4(
select ArrivalDate from NoCheckList)
if @value=5(
select TimeLimits from NoCheckList)
GO

...全文
173 点赞 收藏 16
写回复
16 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Jinniu 2004-11-05
页面上设置DropDownList1的AutoPostBack 属性为true!
回复
Jinniu 2004-11-05
DropDownList1.AutoPostBack = true;
回复
brightheroes 2004-11-04
你既然只有一个字段,为什么要让DropDownList2.DataTextField="Batch";
你这个Batch字段不存在的话,还怎么显示数据?
回复
brightheroes 2004-11-02
我发现,无论你是什么情况,你的 DropDownList2.DataTextField="Batch";
你的存储过程中,是否所有的情况,都选择出了这个Batch字段呢?
好像是没有
你检查一下
回复
sandywind 2004-11-02
回 brightheroes(闭关|那一剑的风情)
我改了程序
public void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e)
{
string strvalue="";
for (int inti=0; inti< DropDownList1.Items.Count-1;inti++)
{
if(DropDownList1.Items[inti].Selected)
{
strvalue=DropDownList1.Items[inti].Value;}
}
int intvalue=int.Parse(strvalue);
string connectstring= "user id=sa;password=;initial catalog=vinegar;data source=thumb;Connect Timeout=30 ";
SqlConnection sqlConnection1=new SqlConnection(connectstring);
sqlConnection1.Open();
SqlDataAdapter sqlDataAdapter1= new SqlDataAdapter("checkoption",sqlConnection1);
sqlDataAdapter1.SelectCommand.CommandType=CommandType.StoredProcedure;
sqlDataAdapter1.SelectCommand.Parameters.Add("@value", intvalue);
DataSet dataSet1=new DataSet();
sqlDataAdapter1.Fill(dataSet1,"Items");
sqlConnection1.Close();
DropDownList2.DataSource=dataSet1.Tables["NocheckList"].DefaultView ;
switch(intvalue)
{
case(0):
DropDownList2.DataTextField="AccesoryID";
DropDownList2.DataValueField="Batch";
break;
case(1):
DropDownList2.DataTextField="AccesoryName";
DropDownList2.DataValueField="Batch";
break;
case(2):
DropDownList2.DataTextField="Batch";
DropDownList2.DataValueField="Batch";
break;
case(3):
DropDownList2.DataTextField="Vendor";
DropDownList2.DataValueField="Batch";
break;
case(4):
DropDownList2.DataTextField="ArrivalDate";
DropDownList2.DataValueField="Batch";
break;
case(5):
DropDownList2.DataValueField="AccesoryID";
DropDownList2.DataTextField="Batch";
break;
}
DropDownList2.DataBind();
}
但在第二个dropdownlist2还是空空的,编译也通过了。是什么原因让它无法正常显示。
回复
brightheroes 2004-11-01
为什么不行?
你跟踪一下程序,看看有没有选出来数据
看看int intvalue=int.Parse(strvalue);
是多少
回复
sandywind 2004-11-01
回 brightheroes(闭关|那一剑的风情) 用了还是不行。
回复
smilesad 2004-11-01
dropdownlist的 AutoPostBack的属性要设置为true
回复
brightheroes 2004-11-01
修改存储过程如下:无论你选择什么,都返回xx这个字段
CREATE procedure dbo.checkoption
@value int
AS
if @value=0(
select AccesoryID as xx from NoCheckList )
if @value=1(
select AccesoryName as xx from NoCheckList)
if @value=2(
select Batch as xx from NoCheckList)
if @value=3(
select vendor as xx from NoCheckList)
if @value=4(
select ArrivalDate as xx from NoCheckList)
if @value=5(
select TimeLimits as xx from NoCheckList)
GO


DropDownList2.DataSource=dataSet1.Tables["NocheckList"].DefaultView ;
DropDownList2.DataTextField="xx";
DropDownList2.DataValueField="xx";
DropDownList2.DataBind();
回复
sandywind 2004-11-01
是,但我想用dropdownlist2显示不同的字段。
回复
hiying 2004-11-01
dropdownlist.DataSource=Rs;
dropdownlist.DataTextField="要显示的字段";
dropdownlist.DataValueField="要显示的字段的值";
dropdownlist.DataBind();
回复
AustinLei 2004-11-01
要设置dropdownlist的DataTextField和DataValueField属性。
回复
jsyzfeb 2004-11-01
dropdownlist的 AutoPostBack的属性设置为true了吗?
回复
vzxq 2004-11-01
dropdownlist的DataTextField和DataValueField
回复
lhcoolhacker 2004-11-01
dropdownlist.DataTextField="要显示的字段";
dropdownlist.DataValueField="要显示的字段的值";
正解
回复
rickjelly2004 2004-11-01
dropdownlist.DataTextField="要显示的字段";
dropdownlist.DataValueField="要显示的字段的值";
回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-11-01 11:48
社区公告
暂无公告