- 註冊時間
- 2006-3-13
- 最後登錄
- 2025-1-10
- 在線時間
- 673 小時
- 閱讀權限
- 200
- 積分
- 417
- 帖子
- 1107
- 精華
- 0
- UID
- 2
  
|
- procedure Tf_rs_bm.ListViewOrder(Fieldname:String);
- var
- p: ^Integer;
- ID: Integer;
- ListItem: TListItem;
- Node: TTreeNode;
- Array_bmid: Array of string;
- Array_bmidnumber: integer;
- Light_all: Boolean;
- i: integer;
- SubNode: TTreeNode;
- Subp: ^integer;
- Tem_level: integer;
- begin
- Listview2.items.Clear;
- Light_all := False;
- Array_bmidnumber := 0;
- Node := TreeView1.Selected;
- if Node = nil then Exit;
- p := Node.Data;
- if p=Nil then Exit;
- ID := p^;
- if id=0 then Light_all := true
- else begin
- Array_bmidnumber := 1;
- SetLength(Array_bmid,1);
- Array_bmid[0] := IntToStr(p^);
- Tem_level := Node.Level;
- SubNode := Node.GetNext;
- While (SubNode<>nil) and (SubNode.level>Tem_level) do begin
- Inc(Array_bmidnumber);
- Subp := SubNode.Data;
- SetLength(Array_bmid,Array_bmidnumber);
- Array_bmid[Array_bmidnumber-1] := IntToStr(Subp^);
- SubNode := SubNode.GetNext;
- end;
- end;
- with TQuery.Create(Nil) do
- begin
- DatabaseName := DatabaseAlias;
- SQL.Clear;
- if Light_all then
- begin
- SQL.Add('select id, ryxx_del, ryxx_ryjd, ryxx_xm, ryxx_xb, ryxx_ssbm, ryxx_csny, ryxx_gj, ryxx_jg, ryxx_zzmm, ryxx_hyzk, ryxx_whcd, ryxx_byxx, ryxx_sxzy, ryxx_jsjsp, ryxx_wysp, ryxx_jszc from rs_ryxx');
- SQL.Add(' where ryxx_del=' IntToStr(FLAG_NOTDELETE));
- end
- else begin
- if Array_bmidnumber <= 0 then exit;
- SQL.Add('select id, ryxx_del, ryxx_ryjd, ryxx_xm, ryxx_xb, ryxx_ssbm, ryxx_csny, ryxx_gj, ryxx_jg, ryxx_zzmm, ryxx_hyzk, ryxx_whcd, ryxx_byxx, ryxx_sxzy, ryxx_jsjsp, ryxx_wysp, ryxx_jszc from rs_ryxx');
- SQL.Add(' where ryxx_del=' IntToStr(FLAG_NOTDELETE));
- if Array_bmidnumber > 0 then
- begin
- Sql.Add(' and (ryxx_ssbm=' Array_bmid[0]);
- if Array_bmidnumber>1 then
- begin
- for i := 1 to Array_bmidnumber-1 do begin
- Sql.Add(' or ryxx_ssbm=' Array_bmid[i]);
- end;
- end;
- Sql.Add(')');
- end;
- end;
- if LightDesc then sql.Add(' order by ' Fieldname ' desc')
- else sql.Add (' order by ' Fieldname);
- Open;
- First;
- ListView2.Items.Clear;
- while not Eof do
- begin
- ListItem := ListView2.Items.Add();
- ListItem.Caption := Trim(FieldByName('ryxx_xm').AsString);
- New(p);
- p^ := FieldByName('id').AsInteger;
- ListItem.Data := p;
- if FieldByName('ryxx_xb').AsString='男' then
- begin
- ListItem.ImageIndex := 0;
- ListItem.SubItems.Add('男');
- end
- else
- begin
- if FieldByName('ryxx_xb').AsString='女' then
- begin
- ListItem.ImageIndex := 1;
- ListItem.SubItems.Add('女');
- end
- else
- begin
- ListItem.ImageIndex := 0;
- ListItem.SubItems.Add('');
- end;
- end;
- case FieldByName('ryxx_ryjd').AsInteger of
- 0: ListItem.SubItems.Add('应聘人员');
- 1: ListItem.SubItems.Add('试用人员');
- 2: ListItem.SubItems.Add('正式员工');
- 3: ListItem.SubItems.Add('退休员工');
- 4: ListItem.SubItems.Add('辞退员工');
- 5: ListItem.SubItems.Add('离休员工');
- else ListItem.SubItems.Add('');
- end;
- Listitem.subitems.add(Fieldbyname('ryxx_csny').Asstring);
- ListItem.subitems.Add(fieldbyname('ryxx_gj').Asstring);
- ListItem.Subitems.Add(fieldbyname('ryxx_jg').Asstring);
- ListItem.Subitems.Add(fieldbyname('ryxx_zzmm').Asstring);
- ListItem.Subitems.Add(fieldbyname('ryxx_hyzk').Asstring);
- ListItem.Subitems.Add(fieldbyname('ryxx_whcd').Asstring);
- Listitem.Subitems.Add(fieldbyname('ryxx_byxx').Asstring);
- ListItem.Subitems.Add(fieldbyname('ryxx_sxzy').Asstring);
- ListItem.Subitems.Add(fieldbyname('ryxx_jsjsp').Asstring);
- ListItem.Subitems.Add(fieldbyname('ryxx_wysp').Asstring);
- ListItem.Subitems.Add(fieldbyname('ryxx_jszc').Asstring);
- Next;
- end;
- Free;
- end;
- end;
複製代碼 |
|