我用Express DBeditors 的dxDBTreeList1 写了一个程序添加多个节点后,
在更新所添加的节点的值就找不到,其父节点了找不到了错误为其值被改变了
无法找到。
程序如下
ADD :
FParentValue := TdxDBTreeListNode(DBTreeList.FocusedNode).Id;
MG_PROJECT_EST.Insert;
DBTreeList.ShowEditor;更新数据
procedure TMG_PROJECT_EST.DBBUDGET_S_AMTValidate(Sender: TObject;
var ErrorText: String; var Accept: Boolean);
var
Reduce : double;
Tnode : TdxTreeListNode;
begin
Tnode :=DBTreeList.FocusedNode;
Reduce := strtofloat(DBTreeList.EditingText)-BUDGET_S_AMT.AsFloat;
DBTreeList.BeginUpdate;
while tnode<>nil do
begin
Tnode.Focused:=true;
MG_PROJECT_EST.Edit;
BUDGET_S_AMT.AsFloat:= BUDGET_S_AMT.AsFloat+Reduce;//BUDGET_S_AMT为数据集的FIELNAME
BUDGET_AMT.AsFloat := BUDGET_AMT.AsFloat + Reduce;
Tnode :=Tnode.Parent;
end;
DBTreeList.EndUpdate;
end;
在更新所添加的节点的值就找不到,其父节点了找不到了错误为其值被改变了
无法找到。
程序如下
ADD :
FParentValue := TdxDBTreeListNode(DBTreeList.FocusedNode).Id;
MG_PROJECT_EST.Insert;
DBTreeList.ShowEditor;更新数据
procedure TMG_PROJECT_EST.DBBUDGET_S_AMTValidate(Sender: TObject;
var ErrorText: String; var Accept: Boolean);
var
Reduce : double;
Tnode : TdxTreeListNode;
begin
Tnode :=DBTreeList.FocusedNode;
Reduce := strtofloat(DBTreeList.EditingText)-BUDGET_S_AMT.AsFloat;
DBTreeList.BeginUpdate;
while tnode<>nil do
begin
Tnode.Focused:=true;
MG_PROJECT_EST.Edit;
BUDGET_S_AMT.AsFloat:= BUDGET_S_AMT.AsFloat+Reduce;//BUDGET_S_AMT为数据集的FIELNAME
BUDGET_AMT.AsFloat := BUDGET_AMT.AsFloat + Reduce;
Tnode :=Tnode.Parent;
end;
DBTreeList.EndUpdate;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货