LISTVIEW的使用

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, 1do
          
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;  
posted @ 2008-07-29 08:42  威尼斯的夏天  阅读(189)  评论(0编辑  收藏  举报