关于datagrid里删除的问题

zhangwz20 2003-09-11 12:01:31
我在datagrid里加了一个删除列,我想在删除时根据数据库里的数据提示是否删除,请问怎样给出提示?
...全文
64 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
storm97 2003-09-11
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2241/2241443.xml?temp=7.426089E-02
雪狼1234567 2003-09-11
  • 打赏
  • 举报
回复
5.54 How can I put up a confirmation question when the user tries to delete a row in the datagrid by clicking on the row header and pressing the Delete key?

You can handle this by subclassing your grid and overriding either PreProcessMessage or ProcessDialogKey. The code below assumes your datasource is a dataview. If it is not, you could just remove that check

[C#]

public override bool PreProcessMessage( ref Message msg )

{

Keys keyCode = (Keys)(int)msg.WParam & Keys.KeyCode;

if(msg.Msg == WM_KEYDOWN

&& keyCode == Keys.Delete

&& ((DataView) this.DataSource).AllowDelete)

{

if(MessageBox.Show("Delete this row?", "", MessageBoxButtons.YesNo) == DialogResult.No)

return true;

}

return base.PreProcessMessage(ref msg);

}



孟子E章 2003-09-11
  • 打赏
  • 举报
回复
http://xml.sz.luohuedu.net/xml/ShowList.asp?id=1
diaopeng 2003-09-11
  • 打赏
  • 举报
回复
意思不明确,无法帮
zhangwz20 2003-09-11
  • 打赏
  • 举报
回复
是web的程序
storm97 2003-09-11
  • 打赏
  • 举报
回复
windows的程序还是WEB的程序?
visualcpu 2003-09-11
  • 打赏
  • 举报
回复
private void GetData()//显示数据
{
string strConn=ConfigurationSettings.AppSettings["strConn"];
SqlConnection SqlConn=new SqlConnection(strConn);
SqlDataAdapter SqlCmd=new SqlDataAdapter("select * from Subject order by SubjectID desc",SqlConn);
DataSet SqlDS=new DataSet();
SqlCmd.Fill(SqlDS,"Subject");
DataGrid1.DataSource=SqlDS.Tables["Subject"].DefaultView;
DataGrid1.DataBind();

for(int i=0;i<DataGrid1.Items.Count;i++)
{
LinkButton LBDel=(LinkButton)DataGrid1.Items[i].FindControl("LinkButton1");
LBDel.Attributes["OnClick"]="return confirm('是否确定删除该记录!')";
}
}


最后再写删除的代码:

private void DataGrid1_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string strConn=ConfigurationSettings.AppSettings["strConn"];
SqlConnection SqlConn=new SqlConnection(strConn);
string strID=e.Item.Cells[0].Text.Trim();
SqlCommand SqlCmd=new SqlCommand("delete Subject where SubjectID='"+strID+"'",SqlConn);
SqlConn.Open();
SqlCmd.ExecuteNonQuery();
DataGrid1.EditItemIndex=-1;
GetData();
SqlConn.Close();
}

实现原理:

当用户单击删除时,系统会弹出对话框是否在删除,如果用户单击确定后,就会执行删除的代码,否则就不会执行删除的代码!
wangrui821 2003-09-11
  • 打赏
  • 举报
回复
在DataGrid1_ItemCreated中写
if ( 需要删除的条件 )
{
if (e.Item.ItemIndex >= 0)
{
LinkButton btn = (LinkButton)e.Item.Cells[删除按钮的列].Controls[0];
if (btn != null)
{btn.Attributes["onClick"] = "javascript:return confirm('删除后不能恢复,确认删除?');";
}
}
}
qimini 2003-09-11
  • 打赏
  • 举报
回复
upup

110,529

社区成员

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

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

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