关于循环问题

wenwenOwenwen 2011-10-10 04:43:56
如果我有一组数据,假设是一个数组,窗体上有对应多个TEXTBOX控件,我想分别把数组里的数据放到对应的textbox的text里,该z怎么做呀
...全文
117 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
CqCoder 2011-10-11
  • 打赏
  • 举报
回复
如果存在容器里还有控件

就用LS代码 递归····
CqCoder 2011-10-11
  • 打赏
  • 举报
回复
遍历页面控件

foreach (Control c in this.Page.Form.Controls)
{
if (c.GetType().Name.Equals("TextBox"))
{
(c as TextBox).Text = Guid.NewGuid().ToString();
}
}
wenwenOwenwen 2011-10-11
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 g4_magicvr 的回复:]

只有一个问题 帅哥
你这个循环是在什么地方?

是本身动态生成那些文本框的循环吗?还是你自己加上去?
看你之前的描述你这个应该是新写的循环吧?

你是要在本身那个循环里面加个赋值语句而已。
就是给 文本框的.text属性赋值的语句 你只需要添加一句

如果你加了很多句 说明你错了……
[/Quote]
这就是本身那个循环那
  • 打赏
  • 举报
回复
制定一个拆分规则,然后循环给值到控件上
g4_magicvr 2011-10-10
  • 打赏
  • 举报
回复
只有一个问题 帅哥
你这个循环是在什么地方?

是本身动态生成那些文本框的循环吗?还是你自己加上去?
看你之前的描述你这个应该是新写的循环吧?

你是要在本身那个循环里面加个赋值语句而已。
就是给 文本框的.text属性赋值的语句 你只需要添加一句

如果你加了很多句 说明你错了……
wenwenOwenwen 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 g4_magicvr 的回复:]

- -这个玩意是在生成文本框的那个动态方法里面好吗 不是在check事件里面重新生成文本框
[/Quote]
for (int i = 0; i < tasks.Count; i++)
{
Label lab = new Label();
lab.Text = tasks[i].fidleName;
lab.Top = 10; lab.Left = 10; lab.Width = 100;
lab.Visible = true;
TextBox txt = new TextBox();
txt.Name = "txt" + i.ToString();
txt.Visible = true;
txt.Text = tasks[i].datas;
txt.Top = 10; txt.Left = 10;
flowLayoutPanel1.Controls.Add(lab);
flowLayoutPanel1.Controls.Add(txt);
}
就是这样哦
g4_magicvr 2011-10-10
  • 打赏
  • 举报
回复
- -这个玩意是在生成文本框的那个动态方法里面好吗 不是在check事件里面重新生成文本框
md5e 2011-10-10
  • 打赏
  • 举报
回复

//当然你的page里已经存在着TextBox1,TextBox2,TextBox3,TextBox4
string[] val = { "aaaaa", "bbbb", "cccc", "dddd" };
for (int i = 0; i <= 3; i++)
{
TextBox tb = Page.FindControl("TextBox" + (i + 1).ToString()) as TextBox;
tb.Text = val[i];
}
wenwenOwenwen 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 g4_magicvr 的回复:]

你生成文本框时候直接让文本框的值等于数据库相应的值就可以了啊……

这个时候你连ID都不用管

第一个文本框的text属性写入第一个数据库的值
[/Quote]
我发现了,可是我这样写了以后,运行出来,本来的文本框里没内容,倒是在最下面又生成了几个有数据的文本框
g4_magicvr 2011-10-10
  • 打赏
  • 举报
回复
我假设你的数据是a[],有N个数据
那么

foreach(string i in a)
{
//代码·生成文本框
//这部分没问题吧?然后多加下面一句我们假设生成的新文本框为b
b.text=i;
}

收工
g4_magicvr 2011-10-10
  • 打赏
  • 举报
回复
你生成文本框时候直接让文本框的值等于数据库相应的值就可以了啊……

这个时候你连ID都不用管

第一个文本框的text属性写入第一个数据库的值
wenwenOwenwen 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 fangyuantdy 的回复:]

哪个数据放在哪个文本框中有规定么
没有的话把所有文本框也放入List中,然后循环一把赋值呗
[/Quote]
比如a[1]对应第一个,a[2]对应第二个这样哦,textbox是动态生成的,数组也是从数据库里查出来的数据哦
wenwenOwenwen 2011-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 g4_magicvr 的回复:]

两种方法,如果textbox是动态生成的,那么就把数据内容绑定进去就OK。
第二种是把textbox的id存储在另外一个数组,数组对应数组,一个for循环(如果确实是一一对应的话)
[/Quote]
是动态生成的哦,怎么绑定呢
lcaiyhh 2011-10-10
  • 打赏
  • 举报
回复
关联呢?如何确定,数组里的哪个数据,放到哪个textbox里?
问题没描述清楚吧?
  • 打赏
  • 举报
回复
但是呢,一定要顺序对应,要不然,还是单个赋值吧


for (int i = 0; i < this.Controls.Count;i++ )
{
Control cl = this.Controls[i];
if (cl is TextBox)
{
//赋值
}
}
fangyuantdy 2011-10-10
  • 打赏
  • 举报
回复
哪个数据放在哪个文本框中有规定么
没有的话把所有文本框也放入List中,然后循环一把赋值呗
g4_magicvr 2011-10-10
  • 打赏
  • 举报
回复
两种方法,如果textbox是动态生成的,那么就把数据内容绑定进去就OK。
第二种是把textbox的id存储在另外一个数组,数组对应数组,一个for循环(如果确实是一一对应的话)

62,046

社区成员

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

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

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

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