以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]datatable删除问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103476)

--  作者:yjh2002
--  发布时间:2017/7/9 19:22:00
--  [求助]datatable删除问题
要在窗口里实现点击某个treeview节点,然后点删除按钮,会删除对应的datatable表内容。
代码如下
treeview的afterselectednode事件代码
nodedm=e.node.fullname    其中nodedm为全局变量,其内容为对应的表字段值。
删除按钮代码
Result = MessageBox.Show("删除当前类别吗?" ,"提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
If Result = DialogResult.Yes Then
    tr.SelectedNode.delete
   DataTables("spgl").DeleteFor("[n_mx]>0 and [c_spdm]=\'" & nodedm & "\'")
    DataTables("spgl").save()
End If
删除执行后实际删除的并非要删除的行,加了msgbox显示nodedm的内容是正确的,但一删除就不对,删除了其他的代码行了。

而在命令窗口里如果写入代码执行
dim nodedm as string = 代码
  DataTables("spgl").DeleteFor("[n_mx]>0 and [c_spdm]=\'" & nodedm & "\'")
    DataTables("spgl").save()
则删除是正常的。


--  作者:有点甜
--  发布时间:2017/7/9 21:07:00
--  

代码这样写

 

 

 msgbox(tr.SelectedNode.fullname)

 DataTables("spgl").DeleteFor("[n_mx]>0 and [c_spdm]=\'" &  tr.SelectedNode.fullname & "\'")
 tr.SelectedNode.delete

--  作者:有点甜
--  发布时间:2017/7/9 21:08:00
--  
delete执行之后,会触发afterselectednode事件的。
--  作者:yjh2002
--  发布时间:2017/7/9 21:14:00
--  
好的谢谢您