|
DBGrid상에서 특정키필드(not null field)에 자료를 입력하지 않고
다른필드로 이동하기 위해서 tab키나 마우스를 클릭하면
해당 필드의 자료를 먼저 입력하라는 메세지를 보여준후
커서를 특정키필드에 다시 위치시키고자 합니다.
다음과 같은 방법으로 하였는데 커서가 원래필드로 이동하질 않네요 ?
아시는분 있으면 부탁드립니다.
void __fastcall TFcode1::DBGrid2ColExit(TObject *Sender)
{
switch (DBGrid2->SelectedIndex)
{
case 0:
if (DBGrid2->SelectedField->AsString.IsEmpty())
{
Application->MessageBox("코드를 먼저 입력하십시요.","알림",MB_OK);
DBGrid2->SelectedIndex = 0; === 이코딩이 실행되지 않고 다음 컬럼으로 이동함.
DBGrid2->SetFocus();
}
case 1:
TDataSet *pDS = DM1->DataSource2->DataSet;
if ((!pDS->Fields->Fields[1]->AsString.IsEmpty()) &&
(DBGrid2->SelectedField->AsString.IsEmpty()))
{
Application->MessageBox("코드명(약칭)을 먼저 입력하십시요.","알림",MB_OK);
DBGrid2->SelectedIndex = 1; === 이코딩이 실행되지 않고 다음 컬럼으로 이동함.
DBGrid2->SetFocus();
}
}
}
|