|
StringGrid에는 그런 기능을 부여할 수 가 없는 듯 합니다.
하시려면 적절하게 코딩이 필요할 듯 합니다.
그냥, 엑세스에서 읽어 오는 기능이니까..
SQL등을 이용하셔서 DBGrid를 사용하시는 것이 좋을 듯 합니다.
StringGrid를 이용하시려면
CSV와 StringGrid 그리고 Memo와 TStringList 를 적절하게 이용하셔도 되구요..
이런 저런 생각을 해 보게 되네여
도움이 못되는 듯..
좀더 고민해 보겠습니다.
어짜피..
수수께끼 님이 쓰신 글 :
: 스트링그리드에 데이터 뿌리는것까진 했습니다.
:
: 근데 데이터라는게 레코드도 추가하고 중간에 특정 셀의 데이터를 바꾸기도 하고 뭐 그런 기능이 있어야 하잖아요?
:
: 단순히 뿌리는것까진 했는데 여기서부터 막히네요 ㅋㅋ
:
: 스트링그리드를 수정해서 새로운 레코드를 만들고 거기다 데이터를 입력해서 최종적으로 테이블의 내용을 수정하는걸
: 하고 싶습니다.
:
: 스트링그리드는 db네비게이터 같은게 없나요?
:
: 아래 소스는 스트링그리드에 데이터 뿌린 소스 입니다.
:
: int RowCount= 1 ;
:
: AnsiString sSql;
:
: switch(ComboBox1->ItemIndex){
: case 0:
: sSql = "select * from Samsung";
: break;
: case 1:
: sSql = "select * from Tesna";
: break;
: case 2:
: sSql = "select * from ASE";
: break;
: case 3:
: sSql = "select * from LUSEM";
: break;
: case 4:
: sSql = "select * from STS";
: break;
: case 5:
: sSql = "select * from SESS";
: break;
: case 6:
: sSql = "select * from Amkor";
: break;
: default :
: MessageBox(Handle,
: "인덱스가 잘못되었습니다.","Warning", MB_OK);
: break;
: }
: objData->Recordset = objConn->Execute(sSql, cmdText, TExecuteOptions());
:
: StringGrid1->Cells[0][0] = "순번";
: StringGrid1->Cells[1][0] = "작업날짜";
: StringGrid1->Cells[2][0] = "설비명";
: StringGrid1->Cells[3][0] = "설비 시리얼No.";
: StringGrid1->Cells[4][0] = "고장유형";
: StringGrid1->Cells[5][0] = "조치내용";
: StringGrid1->Cells[6][0] = "사용 Part";
: StringGrid1->Cells[7][0] = "고객 담당자";
: StringGrid1->Cells[8][0] = "작업자";
: StringGrid1->Cells[9][0] = "비고";
:
: while (!objData->Eof)
: {
: StringGrid1->Cells[0][RowCount] = objData->FieldByName
: ("순번")->AsString;
: StringGrid1->Cells[1][RowCount] = objData->FieldByName
: ("작업날짜")->AsString;
: StringGrid1->Cells[2][RowCount] = objData->FieldByName
: ("설비명")->AsString;
: StringGrid1->Cells[3][RowCount] = objData->FieldByName
: ("설비 시리얼No")->AsString;
: StringGrid1->Cells[4][RowCount] = objData->FieldByName
: ("고장유형")->AsString;
: StringGrid1->Cells[5][RowCount] = objData->FieldByName
: ("조치내용")->AsString;
: StringGrid1->Cells[6][RowCount] = objData->FieldByName
: ("사용 Part")->AsString;
: StringGrid1->Cells[7][RowCount] = objData->FieldByName
: ("고객 담당자")->AsString;
: StringGrid1->Cells[8][RowCount] = objData->FieldByName
: ("작업자")->AsString;
: StringGrid1->Cells[9][RowCount] = objData->FieldByName
: ("비고")->AsString;
: objData->Next();
: ++RowCount;
: }
:
: 콤보박스에서 아이템을 선택하면 엑세스db파일의 테이블을 읽어서 그것을 스트링그리드에 표시하는겁니다.
:
: 고수님들 답변좀 해주세요 ㅎㅎㅎ
:
: 아 그리고 지금 스트링그리드의 프로퍼티에 레코드갯수(로우 카운트)를 3개로 맞춰놓은 상태인데요.
:
: 이렇게하면 불러오는 테이블의 레코드가 아무리 많아도 3개까지밖에 표시가 안되더라구요.
:
: 이걸 불러오는 테이블의 레코드갯수에 자동으로 맞춰지게 하려면 어떻게 해야될까요?
:
: 물론 스트링그리드의 레코드 범위를 넘어가면 스크롤바가 생겨야겠죠? ㅎㅎ
:
: 조금만 도와주세요~
|