• 主页
  • ASP
  • .NET Framework
  • Web Services
  • VB
  • VC
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • LINQ

问个一次了,没人答,求高人指点。DataGrid点击某行,不要刷新,把改行中某列的值写到页面上的textbox里面。

轻舟已过万重山 2004-09-15 05:00:10
具体点的要求:
DataGrid的列表,需要在itemdatabind的时候呢,为每行绑定个javascript,到点击该行的时候就把该行中第一列第二列的值写到另外的两个文本框里面。由于不要重新去取值,所以老板坚决要求不要刷新的。各位老大看看怎么处理,急啊!
...全文
105 点赞 收藏 12
写回复
12 条回复
luckysusan 2004年09月15日
e.item.Attribute.add("onclick","filltextbox(this)");

将下面的javascript函数加到head里面,当然也可以直接放到绑定里面
function filltextbox(obj)
{
document.all.your_textbox1.value = this.cells[0].innerText;第一列
document.all.your_textbox2.value = this.cells[1].innerText;第二列

}
回复 点赞
ny_nicholas 2004年09月15日
学习
回复 点赞
轻舟已过万重山 2004年09月15日
对了,写错了!多谢各位!
回复 点赞
ar7_top 2004年09月15日
路过,学习
回复 点赞
luaiping 2004年09月15日
e.Item.Attributes.Add("onclick","javascript:alert('test');");
回复 点赞
famousun 2004年09月15日
可以,刚才试了一下
e.Item.Attributes.Add("onclick","javascript:alert('ddd');") ;
回复 点赞
wangrenda 2004年09月15日
if(e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item)
{}
?
回复 点赞
wangrenda 2004年09月15日
e.Item.Attributes.Add("onclick", "javascript:ClientMethod();");
一定可以,
回复 点赞
轻舟已过万重山 2004年09月15日
<tr onClick="<script language='javascript'>alert('hello')</script>" onmouseover="this.style.backgroundColor='#FEE4D0'">
<td>1</td>
<td>2</td>
</tr>
这个就是上面代码能在客户端生成的预料中的代码,实际上onmouseover是有用的,而onclick是没用的,是不是这个办法行不通,应该用其他的,比如模板列来实现这个效果?一直没找到什么好的办法,有劳各位了。
回复 点赞
zhq3k 2004年09月15日
很好实现呀,
在itemdatabind事件中,把第一列和第二列的值加到item属性中,绑定javascript到item中
大概如下:
e.item.Attribute.add("myc1",value_c1);
e.item.Attribute.add("myc2",value_c2);
e.item.Attribute.add("onclick","javascript:myclick(this);");

myclick脚本
function myclick(obj)
{
window.document.form1.text1.value = obj.getAttribute("myc1");
window.document.form1.text2.value = obj.getAttribute("myc2");
}
回复 点赞
轻舟已过万重山 2004年09月15日
和我想的做个的一摸一样,问题是绑定后不行的,现在这样是绑定到行了吧,在itemdatabind里面写的。如下,看看:
e.Item.Attributes.Add("onmouseover","this.style.backgroundColor='#FEE4D0'");
这个绑定没问题,运行也很好。但是
e.Item.Attributes.Add("onclick","<script language='javascript'>alert('hello')</script>");
这样就不行了。这个onClick根本就触发不了。
回复 点赞
famousun 2004年09月15日
string script="<script language='javascript'>获得的文本框的ID.value='"+e.Item.Cells[0].Text +"'; 第二个雷同第一个;</script>"
e.Item.Attributes.add("onclick",script)
回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

.NET技术交流专区
社区公告
暂无公告