帮忙改一段代码,谢谢

Caobiao 2007-01-06 02:36:50
我在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();
}

不好意思,我只有97分了:)
...全文
173 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xray2005 2007-01-06
  • 打赏
  • 举报
回复
把button的CommandArgument帮定为记录的KEY
然后再:

if(e.CommandName=="你上面设置的那个名称")
{
int Id=Convert.ToInt32(e.CommandArgument); //得到KEY值
//对应的操作
}
ilove8 2007-01-06
  • 打赏
  • 举报
回复
SelectedCommand
linekery 2007-01-06
  • 打赏
  • 举报
回复
获得datakeys?
DataKey DataKey = DataGrid1.DataKeys[i]
i是行数
看看好不好用 gridView 中这么用的 datagrid 还不敢说 没用过 惭愧
lizhizhe2000 2007-01-06
  • 打赏
  • 举报
回复
使用SelectedCommadn绑定!
jrl5365 2007-01-06
  • 打赏
  • 举报
回复
if(e.CommandName=="你上面设置的那个名称")
{
//对应的操作
}
jrl5365 2007-01-06
  • 打赏
  • 举报
回复
你在按钮中CommandName设置一个名称,
再用这个ItemCommand属性就可以得到你按了哪个按钮对应的行了,
不要忘了绑定的时候要用到DataKeyField属性

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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