一个小问题

coffeedou 2007-05-29 02:12:36
<asp:TemplateField HeaderText="xxx">
<itemtemplate>
<%# DataBinder.Eval(Container.DataItem, "ccc")%>
</itemtemplate>
</asp:TemplateField>

gridview中上述的模板列,知道行号,如何获得这个列的值呢?
...全文
223 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
coffeedou 2007-05-29
  • 打赏
  • 举报
回复
加载xml文件错误,请跟斑竹联系!!请斑竹生成以下社区的贴子列表!!
roomid:5202
typenum:2
coffeedou 2007-05-29
  • 打赏
  • 举报
回复
搜了一下,http://www.cnblogs.com/lovecherry/archive/2005/04/16/138882.html
这个贴子里面做了些说明,有一些明白了,谢谢各位
coffeedou 2007-05-29
  • 打赏
  • 举报
回复
amandag(高歌) :
Response.Write(((DataBoundLiteralControl)GridView1.Rows[3].Cells[2].Controls[0]).Text);
这样可以得到,只不过前后分别加了个回车和空格

只是我很奇怪为什么GridView1.Rows[e.RowIndex].Cells[X].Text得出来都是空值呢?
confei 2007-05-29
  • 打赏
  • 举报
回复
GridView1.Rows[e.RowIndex].Cells[X].inertext
amandag 2007-05-29
  • 打赏
  • 举报
回复
我这里测试成功了,你试试吧,

我以前记得是可以出来的,但是就是要做个类型转换,但这个类名实在是不常用
WNASP 2007-05-29
  • 打赏
  • 举报
回复
GridView1.Rows[e.RowIndex].Cells[X].Text
这个值你绑定了吗?你可以不要让他(这个列)隐藏起来,显示出来,先断定它可以显示值,然后再获取,看能不能得到?
amandag 2007-05-29
  • 打赏
  • 举报
回复
Response.Write(((DataBoundLiteralControl)GridView1.Rows[3].Cells[2].Controls[0]).Text);
sbqcel 2007-05-29
  • 打赏
  • 举报
回复
如果是非模板列 使用GridView1.Rows[e.RowIndex].Cells[X].Text 可以得到
否则就使用 amandag(高歌) 说的方法吧
coffeedou 2007-05-29
  • 打赏
  • 举报
回复
forgot(忘记forgot2000) :
那肯定报错撒
forgot 2007-05-29
  • 打赏
  • 举报
回复
為什麼獲不到,很簡單呀!你直接綁定數據就相當於直接寫入TagName=td的表格文本數據,沒有綁定客戶端控件ID和服務器端控件ID,是根本在客戶端和服務器端都無法取得此純文本數據的,amandag(高歌) 已經說得很清楚了,隻有在綁定服務器控件情況下,才能通過類似((Label)e.Item.FindControl("Label1")).Text的代碼找到文本,因為此時文本是控件的一個屬性,沒有綁定控件,難道你要搜索html源碼的純文本嗎?
forgot 2007-05-29
  • 打赏
  • 举报
回复
誰說的?((TextBox)gvShippingTrackerList.Rows[e.RowIndex].FindControl("ccc")).Text可以獲得嗎?你試試看。
coffeedou 2007-05-29
  • 打赏
  • 举报
回复
<asp:TemplateField HeaderText="xxx">
<itemtemplate>
<%# Convert.ToDateTime(Eval("ccc")).ToString("yyyy-MM-dd") %>
</itemtemplate>
<EditItemTemplate>
<asp:TextBox id="PDate1" runat="server" Text='<%# Convert.ToDateTime(Eval("ccc")).ToString("yyyy-MM-dd") %>' width="60px"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
象这样的,转到编辑状态后,可以用((TextBox)gvShippingTrackerList.Rows[e.RowIndex].FindControl("ccc")).Text获得,可
<asp:TemplateField HeaderText="xxx">
<itemtemplate>
<%# DataBinder.Eval(Container.DataItem, "ccc")%>
</itemtemplate>
</asp:TemplateField>
为什么获不到呢,谁帮我解决了,高分相赠,先谢。
coffeedou 2007-05-29
  • 打赏
  • 举报
回复
嗯,放标签应该可以,但不放标签,我用GridView1.Rows[e.RowIndex].Cells[X].Text; 得到的是空值。
amandag 2007-05-29
  • 打赏
  • 举报
回复
否则应该是
GridView1.Rows[e.RowIndex].Cells[X].Text; //X是列号
amandag 2007-05-29
  • 打赏
  • 举报
回复
里面放个标签更容易得到

((Label)GridView1.Rows[e.RowIndex].FindControl("Label1")).Text;
coffeedou 2007-05-29
  • 打赏
  • 举报
回复
up

62,041

社区成员

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

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

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

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