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

datagrid重的ItemDataBound问题请教

rickelexit 2004-07-19 07:06:42
用dataset取得数据库数据后,为了使用window.open方法
在cs文件中使用这样方法:
e.Item.Cells[1].Attributes.Add("onclick","javascript:window.open("index.aspx?id="+e.Item.Cells[0].Text.Trim() + "','_blank','height=600,width=500, left=250,top=50 status=no,titlebar=no ,toolbar=no,menubar=no,location=no')") ;

因为我没有将id列显示出来
所以e.Item.Cells[0].Text.Trim() 去不到值

请问有什么方法取值出来吗?
...全文
104 点赞 收藏 7
写回复
7 条回复
肄若芸 2004年07月19日
Datagrid1.DataKeys(i)

before it
Datagrid1.DataKeyField = "id"

回复 点赞
rickelexit 2004年07月19日
to lxcc:
我觉得第一列生成的应该是我要的ID列

但是在客户端显示出来的时候我在第一列就没有显示ID

我刚学ASP.NET 对这个DataSet 和 DataGrid的存放机制还不了解

谢谢
回复 点赞
rickelexit 2004年07月19日
ItemType取出来是Header

那我要怎么样定位到Item上呢?

谢谢你
回复 点赞
lxcc 2004年07月19日
e.Item.Cells[0].Text.Trim()

//看看属性生成器里面第一列是不是你要的ID列!
回复 点赞
triout 2004年07月19日
不会取不到的。

不过,你要对e.Item进行判断,因为Header、Footer以及PageNav都会调用ItemDataBound的。

判断:

e.Item.ItemType是否为:

AlternatingItem 交替(从零开始的偶数索引)单元格中的项。它是数据绑定的。
EditItem 列表控件中当前处于编辑模式的项。它是数据绑定的。
Footer 列表控件的页脚。它不是数据绑定的。
Header 列表控件的页眉。它不是数据绑定的。
Item 列表控件中的项。它是数据绑定的。
Pager 页导航,显示定位到与 DataGrid 控件关联的不同页的控件。它不是数据绑定的。
SelectedItem 列表控件中的选定项。它是数据绑定的。
Separator 列表控件中项之间的分隔符。它不是数据绑定的。

对于:

Footer 列表控件的页脚。它不是数据绑定的。
Header 列表控件的页眉。它不是数据绑定的。
Pager 页导航,显示定位到与 DataGrid 控件关联的不同页的控件。它不是数据绑定的。
Separator 列表控件中项之间的分隔符。它不是数据绑定的。

是没有DataItem的。
回复 点赞
rickelexit 2004年07月19日
?e.Item.DataItem
null

取不到东西 数据源是SQLSERVER

这个方法没有用过 能再说的详细一些吗?
回复 点赞
triout 2004年07月19日
你是说e.item.Cells[0]的内容为id?

那么你干吗不在SERVER端实现直接从数据中获取:

e.Item.DataItem

是item的数据源,看你提供给DATAGRID的数据源来区别,通常为DataRowView(也不一定的,自己判断了),这里假定为DataRowView,那么,你的代码修改为:

e.Item.Cells[1].Attributes.Add("onclick","javascript:window.open("index.aspx?id="+(e.Item.DataItem as DataRowView)["id"].ToString()+ "','_blank','height=600,width=500, left=250,top=50 status=no,titlebar=no ,toolbar=no,menubar=no,location=no')") ;

这里:
(e.Item.DataItem as DataRowView)["id"].ToString()
即从数据源中获取了id数据,(id为字段名,自己修改了。)

回复 点赞
发动态
发帖子
.NET技术社区
创建于2007-09-28

4.9w+

社区成员

66.8w+

社区内容

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