大家好,小弟请教2个问题:
1:点击显示在DataGrid中的一条纪录的编辑按钮,如何打开另一个Web窗体,当然需要把该条记录 的ID传递给这个窗体.
2:点击显示在DataGrid中的一条纪录的删除按钮,如何删除该条记录?第一个问题,我可以打开另一个窗体,但是ID不知道怎么传递:
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
string strID = DataGrid1.EditItemIndex.ToString();//是否是待传
string ur1 = "WebForm2.aspx"; 输的纪录ID,该如
Response.Redirect(ur1); 何传过去?
} 第二个问题,我删除纪录的程序如下:但老提示"Invalid operation,The connection is closed"
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int rowToDel = e.Item.ItemIndex;
string SQL_DEL = "DELETE FROM T_COMPANYINF WHERE T_DH_ID
= "+"'"+rowToDel+"'";
OracleConnection conn = new OracleConnection(ConnectionString);
OracleCommand command = new OracleCommand();
command.CommandText = SQL_DEL;
conn.Open();
command.ExecuteNonQuery();
conn.Close();
DataGrid1.DataBind(); //数据重新显示了一次
} 还得麻烦大家不吝赐教阿!
1:点击显示在DataGrid中的一条纪录的编辑按钮,如何打开另一个Web窗体,当然需要把该条记录 的ID传递给这个窗体.
2:点击显示在DataGrid中的一条纪录的删除按钮,如何删除该条记录?第一个问题,我可以打开另一个窗体,但是ID不知道怎么传递:
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
string strID = DataGrid1.EditItemIndex.ToString();//是否是待传
string ur1 = "WebForm2.aspx"; 输的纪录ID,该如
Response.Redirect(ur1); 何传过去?
} 第二个问题,我删除纪录的程序如下:但老提示"Invalid operation,The connection is closed"
private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
int rowToDel = e.Item.ItemIndex;
string SQL_DEL = "DELETE FROM T_COMPANYINF WHERE T_DH_ID
= "+"'"+rowToDel+"'";
OracleConnection conn = new OracleConnection(ConnectionString);
OracleCommand command = new OracleCommand();
command.CommandText = SQL_DEL;
conn.Open();
command.ExecuteNonQuery();
conn.Close();
DataGrid1.DataBind(); //数据重新显示了一次
} 还得麻烦大家不吝赐教阿!
解决方案 »
- coolite gridpanel实现复杂表格?
- 复杂查询语句
- 初学者的疑问!高分救助!
- 编译ComponentArt源代码后出现Js脚本错误
- 访问被拒绝StreamWriter sw = File.CreateText(Server.MapPath("UserCounter.txt"));
- 一个关于DataRow的问题,急切需要帮助!!
- 验证控件问题?
- 根据条件查询获取信息显示出这样的界面,怎么实现。
- 使用VS2012的MVC框架,如何在aspx页面点击按钮后调用Controller部分的方法
- 在DataGrid中模版列上有RadioButton的问题
- (C#)>>>>:datagrid.deletecommand事件
- 关于文本框length的小问题?
= "+"'"+rowToDel+"'";
应该写成 string SQL_DEL = "DELETE FROM T_COMPANYINF WHERE T_DH_ID
= '" + rowToDel + "'";
我在点击编辑按钮的时候是这样传输的:
private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
string strID = DataGrid1.EditItemIndex.ToString();
string ur1 = "WebForm2.aspx?strID = "+strID;//待传记录ID
Response.Redirect(ur1);
}
不知道可以嘛?
第二个
OracleConnection conn = new OracleConnection(ConnectionString);
OracleCommand command = new OracleCommand();
command.CommandText = SQL_DEL;
conn.Open();
command.ExecuteNonQuery();
conn.Close();
DataGrid1.DataBind(); 这段语句劝你改下
最后一句绑定换成重新查询数据库,然后再绑定!
OracleConnection conn = new OracleConnection(ConnectionString);
OracleCommand command = new OracleCommand();
try
{
command.CommandText = SQL_DEL;
conn.Open();
command.ExecuteNonQuery();
重新查询数据库得到一个数据集
将该数据集赋值给datagrid
然后再databind();
}
catch{ 提示错误 ;}
finally
{
conn.Close();
}
第一个问题:Response.write("<script>window.open('"+url+"');</script>");
第二个问题:是没有重新绑定
需要重新select得到数据集
在ASP.NET中,如何将DataGrid中显示的记录,在点击其中一条记录的时候,取到它的一个子段值呢?(比如 t_id 字段)
我写的这个好像只取道的是第几条记录,而不是字段值:
private void DataGrid1_EditCommand(object source,
System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
string strID = DataGrid1.EditItemIndex.ToString();
string ur1 = "WebForm2.aspx";
Response.Redirect(ur1);
}
<a href="infoedit.aspx?InfoID=<%#DataBinder.Eval(Container.DataItem,"InfoID"%>'>
HtmlInputHidden txtID = (HtmlInputHidden)e.Item.FindControl("txtid");
switch (e.CommandName)
{
case "Delete": //****调用删除记录函数
DeleteRecored(txtID.Value); //****重新加载数据
PageLoadData();
break;
}
我执行到: string strID = e.Item.FindControl("T_DH_ID").ToString(); 这句话的时候,报错.