VerySource

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

帮忙改一段代码,谢谢

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-10-14 10:30:01 | 显示全部楼层 |阅读模式
我在DataGrid中每天行记录中都加了一个System.Web.UI.WebControls.Button,绑定数据集后,当我一按记录中的按纽,就只显示当条记录,我是下面这样写的,但是实现不了,请问要怎样改一下,谢谢!  

//网页加载时的代码
protected void Page_Load(object sender, EventArgs e)
    {
        string FSQLStr = " select * from T_NoteBook ";
        System.Data.SqlClient.SqlDataAdapter FsqlDataAdapter = new System.Data.SqlClient.SqlDataAdapter(FSQLStr, Fconnection);
        FsqlDataAdapter.Fill(FDataSet,"T_NoteBook");
        DataGrid1.DataSource = FDataSet.Tables["T_NoteBook"].DefaultView;
        DataGrid1.DataKeyField = "FID";
        DataGrid1.DataBind();
    }

//出错代码
protected void del_Click(object sender, EventArgs e)
    {      
        FDataSet.Reset();        
        //主要就是下面这条错了,但是我不知道要怎么样才能获到当前记录的DataKeys值。
        System.Web.UI.WebControls.DataGridCommandEventArgs E1 = (System.Web.UI.WebControls.DataGridCommandEventArgs)e;
        string FID = (string)(DataGrid1.DataKeys[E1.Item.ItemIndex]);
        string sqlstr = " select * from T_NoteBook where FID = " + FID;
        System.Data.SqlClient.SqlDataAdapter FsqlDataAdapter = new System.Data.SqlClient.SqlDataAdapter(sqlstr, Fconnection);
        FsqlDataAdapter.Fill(FDataSet, "T_NoteBook");
        DataGrid1.DataSource = FDataSet.Tables["T_NoteBook"].DefaultView;
        DataGrid1.DataKeyField = "FID";
        DataGrid1.DataBind();
    }
回复

使用道具 举报

0

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-10-14 12:45:01 | 显示全部楼层
你在按钮中CommandName设置一个名称,
再用这个ItemCommand属性就可以得到你按了哪个按钮对应的行了,
不要忘了绑定的时候要用到DataKeyField属性
回复

使用道具 举报

0

主题

5

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-10-14 13:00:01 | 显示全部楼层
if(e.CommandName=="你上面设置的那个名称")
{
//对应的操作
}
回复

使用道具 举报

0

主题

119

帖子

67.00

积分

新手上路

Rank: 1

积分
67.00
发表于 2020-10-14 13:30:01 | 显示全部楼层
使用SelectedCommadn绑定!
回复

使用道具 举报

0

主题

15

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-10-14 14:00:01 | 显示全部楼层
获得datakeys?
DataKey DataKey = DataGrid1.DataKeys[i]
i是行数
看看好不好用  gridView 中这么用的 datagrid 还不敢说 没用过 惭愧
回复

使用道具 举报

0

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-10-14 14:30:01 | 显示全部楼层
SelectedCommand
回复

使用道具 举报

0

主题

24

帖子

20.00

积分

新手上路

Rank: 1

积分
20.00
发表于 2020-10-14 14:45:01 | 显示全部楼层
把button的CommandArgument帮定为记录的KEY
然后再:

if(e.CommandName=="你上面设置的那个名称")
{
  int Id=Convert.ToInt32(e.CommandArgument); //得到KEY值
//对应的操作
}
回复

使用道具 举报

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

本版积分规则

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

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