3.
procedure TfrmMaterialDict.RefreshSubMaterialView(treeNode: TTreeNode);
var
ItemType: integer;
objNode: TNodeObject;
objMaterial :TMaterialObj;
listItem: TListItem;
sql: string;
rs: _Recordset;
begin
lvMaterial.ViewStyle := vsList;
lvMaterial.Items.Clear;
lvMaterial.ViewStyle := vsReport;
ClearTxt;
PageControl1.ActivePageIndex := 0;
if assigned(treeNode.Data) then
begin
objNode := TNodeObject(treeNode.Data) ;
if objNode.IS_Depot=1 then //Ϊ·ÖÀà
begin
ItemType := objNode.Sort;
sql :='select ID,SORT,MCODE,MNAME, MODAL,UNIT,PRICE,KIND,MAXNUM,MINNUM,DEPOTID,SELLPRICE1,SELLPRICE2,STOCKS from T_MMS_MATERIAL_DICT where SORT = ' + inttostr(ItemType) + 'and Mcode <> 0 order by Mcode';
rs := ADOConn.Execute(sql);
while not rs.EOF do
begin
objMaterial := TMaterialObj.Create;
objMaterial.ID := rs.Fields['ID'].Value;
objMaterial.SORT := rs.Fields['SORT'].Value;
objMaterial.MCODE := rs.Fields['MCODE'].Value;
objMaterial.KIND := rs.Fields['KIND'].Value;
listItem := lvMaterial.Items.Add;
listItem.Caption := objMaterial.KIND;
objMaterial.MNAME := rs.Fields['MNAME'].Value;
listItem.SubItems.Add(objMaterial.MNAME);
if not VarIsNull(rs.Fields['MODAL'].Value) then
objMaterial.MODAL :=(rs.Fields['MODAL'].Value)
else
objMaterial.MODAL :='';
listItem.SubItems.Add(objMaterial.MODAL);
if not VarIsNull(rs.Fields['UNIT'].Value) then
objMaterial.MUNIT :=rs.Fields['UNIT'].Value
else
objMaterial.MUNIT :='';
listItem.SubItems.Add(objMaterial.MUNIT);
if not VarIsNull(rs.Fields['PRICE'].Value) then
objMaterial.PRICE :=rs.Fields['PRICE'].Value
else
objMaterial.PRICE :=0;
listItem.SubItems.Add(format('%5.2f',[objMaterial.PRICE]));
if not VarIsNull(rs.Fields['SELLPRICE1'].Value) then
objMaterial.SELLPRICE1 :=rs.Fields['SELLPRICE1'].Value
else
objMaterial.SELLPRICE1 :=0;
listItem.SubItems.Add(format('%5.2f',[objMaterial.SELLPRICE1]));
if not VarIsNull(rs.Fields['SELLPRICE2'].Value) then
objMaterial.SELLPRICE2 :=rs.Fields['SELLPRICE2'].Value
else
objMaterial.SELLPRICE2 :=0;
listItem.SubItems.Add(format('%5.2f',[objMaterial.SELLPRICE2]));
if not VarIsNull(rs.Fields['STOCKS'].Value) then
objMaterial.STOCKS :=rs.Fields['STOCKS'].Value
else
objMaterial.STOCKS :=0;
listItem.SubItems.Add(format('%5.2f',[objMaterial.STOCKS]));
if not VarIsNull(rs.Fields['MAXNUM'].Value) then
objMaterial.MAXNUM :=rs.Fields['MAXNUM'].Value
else
objMaterial.MAXNUM :=0;
listItem.SubItems.Add(format('%5.2f',[objMaterial.MAXNUM]));
if not VarIsNull(rs.Fields['MINNUM'].Value) then
objMaterial.MINNUM :=rs.Fields['MINNUM'].Value
else
objMaterial.MINNUM :=0;
listItem.SubItems.Add(format('%5.2f',[objMaterial.MINNUM]));
listItem.Data := pointer(objMaterial);
rs.MoveNext;
lvMaterial.ItemIndex :=0;
lvMaterialClick(self);
end;
rs.Close;
end;
end;