Winform中DataGrid中如何取消刪除行的操作??

sqfeiyu 2005-10-21 02:05:19
在Winform中﹐選中行后﹐按Delete鍵可以刪除該行。現在的問題是﹕如果是不小心刪除的﹐想要取消怎么辦? (在編輯狀態中﹐可能還更改了其它內容﹐并未保存﹐所以不能重新綁定,也不能用DataTable.RejectChanges取消全部的更改)
在Table中RowDeleted事件中﹐我已經用RejectChanges取消了行操作﹐為什么在DataGrid表中還是被刪除了?
...全文
207 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
huing 2005-10-26
  • 打赏
  • 举报
回复
mark
q_po_o 2005-10-26
  • 打赏
  • 举报
回复
myDataSet.Tables("TablesName").DefaultView.AllowDelete = False
myDataSet.Tables("TablesName").DefaultView.AllowEdit = True
myDataSet.Tables("TablesName").DefaultView.AllowNew = True

可以防止按delete键删除。然后在程序中实现数据删除。

参考:
private void btnDelete_Click(object sender, System.EventArgs e)
{
string strTemp = "";
DialogResult objResult;

strTemp =dgrdCompany[dgrdCompany.CurrentCell.RowNumber,2].ToString().Trim();
if(strTemp == "" || strTemp == null)
{
MessageBox.Show(qpLetter.GetMessageLetter(72));
return;
}
strTemp=qpLetter.GetMessageLetter(53)+"\n"+strTemp;
objResult=MessageBox.Show(strTemp,qpLetter.GetMessageLetter(3),MessageBoxButtons.YesNo);

if(objResult == DialogResult.Yes)
{
m_objDS.Tables["CompanyInfo"].Row[dgrdCompany.CurrentCell.RowNumber].Delete();
}
}

private void btnResume_Click(object sender, System.EventArgs e)
{
m_objDS.Tables["CompanyInfo"].RejectChanges();
dgrdCompany_CurrentCellChanged(sender,e);
}
sqfeiyu 2005-10-26
  • 打赏
  • 举报
回复
還有沒有高手啊???
最后等待~~~
sqfeiyu 2005-10-26
  • 打赏
  • 举报
回复
在程序中实现数据删除畢竟不方便啊~~
算了﹐看來是沒有更好的方法了.
sqfeiyu 2005-10-24
  • 打赏
  • 举报
回复
有沒有高手來幫忙啊!
sqfeiyu 2005-10-21
  • 打赏
  • 举报
回复
暈~~
To: ccjerk(岚)
你這樣設﹐我的DataGrid還能編輯嗎?
兄弟,看看題目再回答嗎!
ccjerk 2005-10-21
  • 打赏
  • 举报
回复
Dim mDAdapter As SqlClient.SqlDataAdapter
Try
mDAdapter = New SqlClient.SqlDataAdapter(sqlStr, SQLConn)
Dim DS As DataSet = New DataSet
mDAdapter.Fill(DS, "TablesName")
' myDataSet = DS.Clone 空表
Catch ex As Exception
MsgBox(ex.Message)
End Try

myDataSet.Tables("TablesName").DefaultView.AllowDelete = False
myDataSet.Tables("TablesName").DefaultView.AllowEdit = True
myDataSet.Tables("TablesName").DefaultView.AllowNew = False
dGrid.DataSource = myDataSet.Tables("TablesName").DefaultView
ccjerk 2005-10-21
  • 打赏
  • 举报
回复

myDataSet.Tables("TablesName").DefaultView.AllowDelete = False
myDataSet.Tables("TablesName").DefaultView.AllowEdit = True
myDataSet.Tables("TablesName").DefaultView.AllowNew = False
dGrid.DataSource = myDataSet.Tables("TablesName").DefaultView


给分
zouyuqiang 2005-10-21
  • 打赏
  • 举报
回复
我也碰到过, 没真正解决,
我是重新获取一下数据
sqfeiyu 2005-10-21
  • 打赏
  • 举报
回复
DataGrid.DataSource=DataTable
無效~~~
還是被刪除了
jeffwangxm 2005-10-21
  • 打赏
  • 举报
回复
DataGrid再加载下table试试

110,533

社区成员

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

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

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