以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 刷新数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=91287) |
-- 作者:yancheng -- 发布时间:2016/10/6 20:29:00 -- 刷新数据 Dim Filter As String = "定额编码 = \'" & dr("定额编码") & "\'"(假设,当前行,定额编码为:A01) DataTables("材料").RemoveFor(Filter) DataTables("材料").AppendLoad(Filter, False) 材料,表,为什么把A01以外的其它 行都,移出了? 这不是我想要的,不是刷新数据 吗? 我只想用这个代码,把我改了:A01的数据 ,刷新这一行的数据 。应该用什么的样代码?
[此贴子已经被作者于2016/10/6 20:29:55编辑过]
|
-- 作者:yancheng -- 发布时间:2016/10/6 20:33:00 -- 我的,表事件,datacolchanged完整代码是: Se lect Case e.DataCol.name Case "入库单价" Dim dr As DataRow = e.DataRow Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "SEL ECT * From {材料} Where [定额编码] = \'" & dr("定额编码") & "\'" dt = cmd.ExecuteReader(True) If dt.DataRows.Count > 0 Then Dim dr1 As DataRow = dt.DataRows(0) dr1("成本价") = dr("入库单价") If dr1.isnull("运杂费") Then dr1("材料原价")=(dr1("成本价")*dr1("主材损耗率") * ( 1+dr1("利润率")+dr1("挂靠管理费率")))*(1+dr1("增值税率")) Else dr1("材料原价")=((dr1("运杂费")+dr1("成本价")*dr1("主材损耗率") )* ( 1+dr1("利润率")+dr1("挂靠管理费率")))*(1+dr1("增值税率")) End If dt.Save() Dim Filter As String = "定额编码 = \'" & dr("定额编码") & "\'" DataTables("材料").RemoveFor(Filter) DataTables("材料").AppendLoad(Filter, False) End If |
-- 作者:yancheng -- 发布时间:2016/10/6 20:38:00 -- 我重新打开系统 ,在窗口里面,又试了一下,好像就正常的。 是只处理了这一行,不影响其它 的。 应该这个代码没问题,是吗?
|
-- 作者:有点蓝 -- 发布时间:2016/10/7 8:57:00 -- 没有问题 |