动态生成的table中需要给对应行的label赋值,高手请进来看看!

applejone 2012-05-04 12:52:55
for (int i = 0; i < nums; i++)
{
tr = new TableRow();
for (int j = 0; j < 1; j++)
{
tc = new TableCell();
tc.Text = dst.Tables[0].Rows[i][j].ToString();
tr.Cells.Add(tc);
}
tc = new TableCell();
LinkButton lkbtn = new LinkButton();

lkbtn.ID = tp + Convert.ToString(i);
lkbtn.Text = "记录时间";
lkbtn.Click += new EventHandler(lkbtn_Click);

tc.Controls.Add(lkbtn);
tr.Cells.Add(tc);

tc = new TableCell();
lbltxt = new Label();
lbltxt.Text = " ";

tc.Controls.Add(lbltxt);
tr.Cells.Add(tc);

tb.Rows.Add(tr);
}
dst.Dispose();
}

protected void lkbtn_Click(object sender, EventArgs e)
{
LinkButton btn = sender as LinkButton;

btn.Text = "∨";

lbltxt.Text = DateTime.Now.ToString();


注:以上为代码,已经实现了,点击“lkbtn_click"后,对应行的text变为∨,但lbltxt.text的值始终不能给对应行赋值,而是给最后一后的那一列“时间”赋值,不知道如何改,请求高人指点,这里多谢了!!
效果如下图

...全文
276 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bdmh 2012-05-04
  • 打赏
  • 举报
回复
GridView1.Rows[索引].Cells[索引].FindControl("xxx")
找到控件,然后赋值
applejone 2012-05-04
  • 打赏
  • 举报
回复
5楼的大侠很厉害,搞定了,谢谢5楼
孟子E章 2012-05-04
  • 打赏
  • 举报
回复
你的lbltxt是全局变量,是最后一行的引用,使用只有最后行显示
孟子E章 2012-05-04
  • 打赏
  • 举报
回复
protected void lkbtn_Click(object sender, EventArgs e)
{
LinkButton btn = sender as LinkButton;
btn.Text = "∨";
TableCell c = (btn.Parent.Parent as TableRow).Cells[2];
Label x = c.Controls[0] as Label;
x.Text = DateTime.Now.ToString();
}
applejone 2012-05-04
  • 打赏
  • 举报
回复
请问楼上同学,根据我写的代码,应该如何写呢?
bdmh 2012-05-04
  • 打赏
  • 举报
回复
得到TabCell,TabCell也有FindControl
applejone 2012-05-04
  • 打赏
  • 举报
回复
谢谢楼上的同学,我这个是 <asp:Table ID="Table1" runat="server" >自定义表格,不是gridview

62,267

社区成员

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

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

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

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