根据筛选条件把f_return中的符合条件的数据写入另一个变量中(由于f_return中的数据与LISTVIEW中的数据是一一对应的
因此可利用LISTVIEW的Items.Item[i].Checked是否为true来确定是否把f_return中的某条数据写入另一个变量中)
1 把查询出的数据集写入LISTVIEW中
f_return为单元内私有变量、lvcangku为LISTVIEW控件
mreturn:=brain.GetCounter('SimpleSql',Vararrayof([mSQL,'MC001',brain.database,'N']));
if ((not VarIsEmpty(mReturn)) and (not VarIsNull(mReturn)) and VarIsArray(mReturn)) then
begin
if Brain.QueryData('INVML', '92', VarArrayOf([trim(edcangku.text)]), f_return) then
begin
if VarisEmpty(f_return) or VarIsNull(f_return)or (not VarIsArray(f_return)) then
begin
btnok.Enabled:=false;
btnslall.Enabled:=false;
btnuslall.Enabled:=false;
brain.DsMessage('I','900001',['']);//无选择的品号
exit;
end
else
begin
btnok.Enabled:=true;
btnslall.Enabled:=true;
btnuslall.Enabled:=true;
lvcangku.Items.Clear;
for i:=0 to VarArrayHighBound(f_return, 1) do
begin
mdata:=f_return[i];
//^_^ 向LISTVIEW中写入数据 begin
with lvcangku.Items.Add do
begin
lvcangku.Items.Item[i].Checked:=true;
subitems.Add(mdata[0]);
subitems.Add(mdata[1]);
subitems.Add(mdata[2]);
subitems.Add(mdata[3]);
subitems.Add(mdata[4]);
subitems.Add(mdata[5]);
subitems.Add(mdata[6]);
end;
//^_^ 向LISTVIEW中写入数据 end;
end;
end;
end;
end;
2 根据筛选条件把f_return中的符合条件的数据写入另一个变量中(由于f_return中的数据与LISTVIEW中的数据是一一对应的
因此可利用LISTVIEW的Items.Item[i].Checked是否为true来确定是否把f_return中的某条数据写入另一个变量中)
m:=0;
n:=0;
for i:=0 to lvcangku.Items.Count-1 do
if lvcangku.Items.Item[i].Checked=true then
m:=m+1;
G_mreturn:=vararraycreate([0,m,0,14],varvariant);
//^_^将对应的lvcangku.Items.Item[i].Checked=true的数据写入新变量 begin
for i:=0 to lvcangku.Items.Count-1 do
begin
if lvcangku.Items.Item[i].Checked=true then
begin
G_mreturn[n,0]:=f_return[i][0];
G_mreturn[n,1]:=f_return[i][1];
G_mreturn[n,2]:=f_return[i][2];
G_mreturn[n,3]:=f_return[i][3];
G_mreturn[n,4]:=f_return[i][4];
G_mreturn[n,5]:=f_return[i][5];
G_mreturn[n,6]:=f_return[i][6];
G_mreturn[n,7]:=f_return[i][7];
G_mreturn[n,8]:=f_return[i][8];
G_mreturn[n,9]:=f_return[i][9];
G_mreturn[n,10]:=f_return[i][10];
G_mreturn[n,11]:=f_return[i][11];
G_mreturn[n,12]:=f_return[i][12];
G_mreturn[n,13]:=f_return[i][13];
G_mreturn[n,14]:=f_return[i][14];
n:=n+1;
end;
//^_^将对应的lvcangku.Items.Item[i].Checked=true的数据写入新变量 end;
end;