VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 708|回复: 6

datagird或者datalist中的按钮事件中如何找到datatable中的数据

[复制链接]

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-2 12:20:01 | 显示全部楼层 |阅读模式
我先将datalist绑定数据库,里面有id、title、time这三列,其中title和time是通过datalist中的两列lable显示的,但是id我不想显示。
如果我想在点击datalist里面的按钮的时候,获取当行的title或time列,很简单我是这样做的
private void datalist_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
if(e.CommandName=="b")
        {
        lb.Text=((System.Web.UI.WebControls.Label)e.Item.FindControl("lb1")).Text;
          }
}
那么我想获取所在行的id如何写呢,我已经将id列绑定到了datalist,但是datalist中没有哪个控键用来显示这个id,最主要的是我不能用datakey,因为这个已经给了其它列了。有没有一个通用的方法,只要绑定了datalist或者datagrid那么就可以得到datatalbe中任意一行中的任意项值
回复

使用道具 举报

0

主题

322

帖子

115.00

积分

新手上路

Rank: 1

积分
115.00
发表于 2020-3-19 23:15:01 | 显示全部楼层
DataRowView row =(DataRowView)e.Item.DataItem;
取 row["字段"]就可。
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-3-25 13:00:01 | 显示全部楼层
未将对象引用设置到对象的实例。
回复

使用道具 举报

0

主题

9

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-3-30 01:30:01 | 显示全部楼层
int a = Convert.toint32(DataGrid1.dataKeys[e.item.itemindex].tostring());
在绑定的时候DataGrid1.DataKeyFiled = "id";再通过上面的代码可以得到当前行的ID
回复

使用道具 举报

1

主题

3

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-4-5 22:30:01 | 显示全部楼层
这个方法我知道,谢谢你,可是问题是
        DataRowView dr=(DataRowView)e.Item.DataItem;
                                lb.Text=dr["hid"].ToString();
这个方法我总是无法绑定
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-1 16:45:01 | 显示全部楼层
把按钮的CommandArgument绑定成ID列 CommandArgument=<% DataBinder(....)%>

可以直接取到的 以前我这么做过
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-21 20:00:01 | 显示全部楼层
用datalist吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表