计算机二级Delphi控件:ListView控件使用方法
来源:优易学  2011-6-5 16:50:22   【优易学:中国教育考试门户网】   资料下载   IT书店

  private
  m_cnVL: _Connection;
  m_rsVL: _Recordset;
  public
  { Public declarations }
  end;
  var
  frmMain: TfrmMain;
  implementation
  {$R *.dfm}
  procedure TfrmMain.btnStartClick( Sender: TObject );
  var
  rsRecordCount: _Recordset;
  nRecordCount, n: Integer;
  begin
  // TODO: 打开数据库和表
  ConnMSAccess( m_cnVL, ’testDB.mdb’, EmptyStr );
  m_rsVL.Open( ’SELECT * FROM t_StudentInfo’, m_cnVL, adOpenKeyset,
  adLockReadOnly, adCmdText );
  // TODO: 获取记录条数,可以通过rs.RecordCount获取,但是那样不安全
  rsRecordCount := CoRecordset.Create;
  rsRecordCount.Open( ’SELECT COUNT(*) FROM t_StudentInfo’, m_cnVL,
   adOpenForwardOnly, adLockReadOnly, adCmdText );
  nRecordCount := rsRecordCount.Fields[ 0 ].Value;
  rsRecordCount := nil;
  btnStart.Caption := IntToStr( nRecordCount ) + ’条记录’;
  // TODO: 添加列表头
  for n := 0 to m_rsVL.Fields.Count - 1 do
  with lvwMain.Columns.Add do
  begin
  Caption := m_rsVL.Fields[ n ].Name;
  Width := 130;
  end;
  // TODO: 设置lvw适合Virtual list
  lvwMain.OwnerData := True;
  lvwMain.Items.Count := nRecordCount;
  end;
  procedure TfrmMain.FormCreate( Sender: TObject );
  begin
  // TODO: 初始化ado对象
  m_cnVL := CoConnection.Create;
  m_rsVL := CoRecordset.Create;
  end;
  procedure TfrmMain.FormDestroy( Sender: TObject );
  begin
  m_cnVL := nil;
  m_rsVL := nil;
  end;
  procedure TfrmMain.lvwMainData( Sender: TObject; Item: TListItem );
  var
  sDataValue: string;
  n, nIdx: Integer;
  begin
  // TODO: 当VirtualList需要列出数据时,激发这个事件
  nIdx := Item.Index;
  if ( m_rsVL.State <> adStateClosed ) and ( m_rsVL.RecordCount >= nIdx ) then
  begin
  // TODO: 将指针激动到当前Item所在行数的记录
  m_rsVL.Move( nIdx, AdBookmarkFirst );
  // TODO: 显示记录
  for n := 0 to lvwMain.Columns.Count - 1 do
  begin
  sDataValue := VarToStr( m_rsVL.Fields[ n ].Value );
  if n = 0 then
  Item.Caption := sDataValue
  else
  Item.SubItems.Add( sDataValue );
  end;
  end;
  end;
  end.

上一页  [1] [2] 

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训