◆立即给分◆怎样获取DataGrid页脚里控件的属性值??

netxie 2004-08-31 01:27:26
我在DataGrid的页脚里加了一行TextBox,问题是怎么样才能获得它们的属性??
代码如下:
private void ◆dg_ItemCreated(object sender, e)
{
if(e.Item.ItemType == ListItemType.Footer )
{
e.Item.Cells[0].Text="增 加:";

for (int i=1;i <= e.Item.Cells.Count - 1;i++)
{
TextBox txtInfo=new TextBox();
txtInfo.ID="txtInfo" + i.ToString();

◆e.Item.Cells[i].Controls.Add(txtInfo);
}
}
}
...全文
145 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
netxie 2004-08-31
  • 打赏
  • 举报
回复
楼上高
windyfancy 2004-08-31
  • 打赏
  • 举报
回复
DataGrid.Items集合并不包含 Header和Footer部分,但是在DataGrid.Controls集合中包含这两部分,因此用如下方法,如有不明白可以将page指令trace 设为true看一下控件树的层次关系和UniqueID:
假设DataGrid名为dg

Control table=dg.Controls[dg.Controls.Count-1];
DataGridItem item=(DataGridItem)table.Controls[table.Controls.Count-1];

这样item就是footer,类型为DataGridItem,这样引用item就可以像其它地方一样访问了,例如输出footer的第一列:
Response.Write(item.Cells[0].Text)。
wangwanru 2004-08-31
  • 打赏
  • 举报
回复
未转换。
netxie 2004-08-31
  • 打赏
  • 举报
回复
错误!!未将对象引用设置到对象的实例。
wangdequan1024 2004-08-31
  • 打赏
  • 举报
回复
应该遍历一下你的DataGrid
foreach(DataGridItem dgi in MyDataGrid.Items)
{
TextBox tb = (TextBox)dg.FindControl("txtInfo1");

Response.Write(tb.Text);
}
netxie 2004-08-31
  • 打赏
  • 举报
回复
ding
netxie 2004-08-31
  • 打赏
  • 举报
回复
private void btnSave_Click(object sender, System.EventArgs e)
{
TextBox tb = (TextBox)dg.FindControl("txtInfo1");

Response.Write(tb.Text);
}
怎么不对呢?
yufeng777 2004-08-31
  • 打赏
  • 举报
回复
TextBox txt = (TextBox)e.Item.Cell[i]Controls[0];
txt就是你要找的TextBox,可以得到他们所有属性。
netxie 2004-08-31
  • 打赏
  • 举报
回复
在DataGrid外的一个按钮事件里能获取到吗?
rickjelly2004 2004-08-31
  • 打赏
  • 举报
回复
DataGrid1_ItemDataBound(
If (e.Item.ItemType = ListItemType.Footer) Then
CType(e.Item.FindControl("Button9"), Button).Enabled = False
End If
wangdequan1024 2004-08-31
  • 打赏
  • 举报
回复
这个
private void ◆dg_ItemCreated(object sender, e)
{
if(e.Item.ItemType == ListItemType.Footer )
{
e.Item.Cells[0].Text="增 加:";

for (int i=1;i <= e.Item.Cells.Count - 1;i++)
{
foreach(DataGridItem dgi in MyDataGrid.Items)
{
TextBox txtInfo=(LinkButton)dgi.FindControl("你要获取的TextBox的ID");
if (txtInfo!= null)
{
txtInfo.ID="txtInfo" + i.ToString();

◆e.Item.Cells[i].Controls.Add(txtInfo);
}
}
}
}
}

wangdequan1024 2004-08-31
  • 打赏
  • 举报
回复

private void ◆dg_ItemCreated(object sender, e)
{
if(e.Item.ItemType == ListItemType.Footer )
{
e.Item.Cells[0].Text="增 加:";

for (int i=1;i <= e.Item.Cells.Count - 1;i++)
{
foreach(DataGridItem dgi in MyDataGrid.Items)
{
TextBox txtInfo=(LinkButton)dgi.FindControl("你要获取的TextBox的ID");
txtInfo.ID="txtInfo" + i.ToString();
if (txtInfo!= null)
◆e.Item.Cells[i].Controls.Add(txtInfo);
}
}
}
}
netxie 2004-08-31
  • 打赏
  • 举报
回复
ding
netxie 2004-08-31
  • 打赏
  • 举报
回复
属性??==>TextBox.Text

62,074

社区成员

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

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

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

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