C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[14060] Re:DBGrid MultiSelect시 선택된 Row를 알려면??
sharejoy [] 1497 읽음    2001-12-31 21:16
슬우 님이 쓰신 글 :
: DBGrid에서 DBGrid->SelectedRows->CurrentRowSelected; 욜케 하믄
: 선택되었는지를 알수 있구요
:
: DBGrid->SelectedRows->Count를 하면 몇개의 Row가 선택되었는지 알 수 있습니다..
:
: 제가 알고 싶은 것은 총 10개의 Row가 있는데. ..
:
: 여기서 1,4,5 Row를 선택할 시에는 어떻게 체크해야 할지가 매우 궁금합니다.


아래는 볼랜드 C++ Help 화일에 있는 예제입니다.

여기에 보면 multiselect일 경우에는

SelectedRows에서 Items라는 배열을 보면 알 수 있습니다.

SelectedRows->Count로 갯수를 구하고,
SelectedRows->Items[i]로 해서 각각의 값을 가져올 수 있습니다.

이때 Items[i]로 가져오는 것은 AnsiString이니까, 이걸 숫자로 바꾸거나 해서

다음 처리를 하면 되겠죠.

참고하세요.


void __fastcall TForm1::Button1Click(TObject *Sender)
{
  if (DBGrid1->SelectedRows->Count > 0)
  {
    AnsiString s = "";
    TDataSet *pDS = DBGrid1->DataSource->DataSet;
    for (int i=0; i < DBGrid1->SelectedRows->Count; i++)
    {
      pDS->GotoBookmark((void *)DBGrid1->SelectedRows->Items[i].c_str());
      for (int j = 0; j < pDS->FieldCount; j++)
      {
        if (j>0)
          s = s+", ";

        s = s + pDS->Fields->Fields[j]->AsString;
      }
      ListBox1->Items->Add(s);
      s = "";
    }
  }
}

+ -

관련 글 리스트
14056 DBGrid MultiSelect시 선택된 Row를 알려면?? 슬우 942 2001/12/31
14060     Re:DBGrid MultiSelect시 선택된 Row를 알려면?? sharejoy 1497 2001/12/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.