以文本方式查看主题

-  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
--  
没有问题