后台建DropDownList,动态赋值。。。在线等。。

fengyuananan 2011-06-08 01:54:07
DropDownList ddlXmno = new DropDownList();
ddlXmno.ID = "ddlConsu" + tableDT1.Rows.Count;
DdlConsu(ddlXmno);//填充DropDownList
ddlXmno.Width = 150;
tc1.Width = "17%";
tc1.Controls.Add(ddlXmno);
//我想通过下面这一步,来使DropDownList当前选中的值。。
for (int j = 0; j < ddlXmno.Items.Count; j++)
{
if (ddlXmno.Items[j].Value.ToString() == bhStr[i].ToString()) //与数据库中查询出来的那条一样.
{
ddlXmno.Items[i].Selected = true; //这样就可以显示出来了.
break; //选中一条后,跳出循环.
}
}
//我添加监视。。得出的结果是:
ddlXmno.Items[1].Value.ToString() == 1084
bhStr[i].ToString() == 1084
为什么就是不进if中呢?,,好奇怪的问题。。。请大家帮我看看啊。。。
...全文
360 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyuananan 2011-06-08
  • 打赏
  • 举报
回复
谢谢大家的帮助,,,我的问题解决了。。。呵呵,,谢谢大家的帮助!
renjunfeng 2011-06-08
  • 打赏
  • 举报
回复
ddlXmno.SelectedIndex = ddlXmno.Items.IndexOf(ddlXmno.Items.FindByValue(bhStr[i].ToString()));
fengyuananan 2011-06-08
  • 打赏
  • 举报
回复
你调用DropDownList的字段错误了。。。

什么意思啊?
Joop_Song 2011-06-08
  • 打赏
  • 举报
回复
你调用DropDownList的字段错误了。。。
fengyuananan 2011-06-08
  • 打赏
  • 举报
回复
不行。。。//ddlXmno.SelectedValue = bhStr[i].ToString();
这句话我试过,,没用的。。。他显示的都是第一个。。。感觉bhStr[i].ToString();这个值都没附上。。。
indusl 2011-06-08
  • 打赏
  • 举报
回复
看的我头都大了, 你新建立完DropDownList后,直接.SeletedValue进行赋值, 不就行吗????
fengyuananan 2011-06-08
  • 打赏
  • 举报
回复
bhStr[i] 是个string类型的数组

没有空格

我是调试的时候,在
if (ddlXmno.Items[j].Value.ToString() == bhStr[i].ToString()) //与数据库中查询出来的那条一样.
{
ddlXmno.Items[i].Selected = true; //这样就可以显示出来了.
break; //选中一条后,跳出循环.
}
添加监视的。。。主要是看
ddlXmno.Items[j].Value.ToString().Trim()
bhStr[i].ToString().Trim()
他们的值
fengyuananan 2011-06-08
  • 打赏
  • 举报
回复
我现在的代码是这样的。。。麻烦帮我看看。。。

string [] bhStr = null;
if (bhs.Contains(","))
bhStr = bhs.Split(',');
else
bhStr[0] = bhs;
for (int i = 0; i < bhStr.Length; i++)
{
HtmlTableRow tr = new HtmlTableRow();

HtmlTableCell tc1 = new HtmlTableCell();
tc1.Align = "center";
DropDownList ddlXmno = new DropDownList();
ddlXmno.ID = "ddlConsu" + tableDT1.Rows.Count;
DdlConsu(ddlXmno);
ddlXmno.Width = 150;
tc1.Width = "17%";
tc1.Controls.Add(ddlXmno);
//Label lb1 = new Label();
//lb1.Text = "";

HtmlTableCell tc2 = new HtmlTableCell();
TextBox txtJe = new TextBox();
txtJe.ID = "txtBl" + tableDT1.Rows.Count;
txtJe.Width = 130;
tc2.Width = "17%";
tc2.Controls.Add(txtJe);

tr.Cells.Add(tc1);
tr.Cells.Add(tc2);
tableDT1.Rows.Add(tr);
//ddlXmno.SelectedValue = bhStr[i].ToString();

for (int j = 0; j < ddlXmno.Items.Count; j++)
{
if (ddlXmno.Items[j].Value.ToString() == bhStr[i].ToString()) //与数据库中查询出来的那条一样.
{
ddlXmno.Items[i].Selected = true; //这样就可以显示出来了.
break; //选中一条后,跳出循环.
}
}
}
indusl 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 fengyuananan 的回复:]
DropDownList ddlXmno = new DropDownList();
ddlXmno.ID = "ddlConsu" + tableDT1.Rows.Count;
DdlConsu(ddlXmno);//填充DropDownList
ddlXmno.Width = 150;
tc1.Width = "17%";
tc1.Controls.Add(ddlXmno);
/……
[/Quote]

另外请教 如何 /添加监视
龍月 2011-06-08
  • 打赏
  • 举报
回复
看下是否有空格
indusl 2011-06-08
  • 打赏
  • 举报
回复
bhStr[i] 到底是什么来着

你直接ddlXmno.SelectedValue = xxxxx 不就完了
md5e 2011-06-08
  • 打赏
  • 举报
回复
不能这样也判断是不为选中的记录
ddlXmno.Items[1].Value.ToString() == 1084

为要ddlXmno.SelectedValue

设置默认值也没有这么麻烦

ddlXmno.Text=xxx;

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧