帮忙改一段代码,谢谢
我在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分了:)
------解决方案--------------------你在按钮中CommandName设置一个名称,
再用这个ItemCommand属性就可以得到你按了哪个按钮对应的行了,
不要忘了绑定的时候要用到DataKeyField属性
------解决方案--------------------if(e.CommandName== "你上面设置的那个名称 ")
{
//对应的操作
}
------解决方案--------------------使用SelectedCommadn绑定!
------解决方案--------------------获得datakeys?
DataKey DataKey = DataGrid1.DataKeys[i]
i是行数
看看好不好用 gridView 中这么用的 datagrid 还不敢说 没用过 惭愧
------解决方案--------------------SelectedCommand
------解决方案--------------------