안녕하세요...
여기서 자주 도움 받는 Heaven입니다..
제가 다름이 아니옵고, DBGrid에서 값을 입력받았는데..
엔터키를 눌렀을때 그 셀에 입력된 값을 구하고 싶습니다.
그 값을 가지고 어떤 처리를 하고 싶거든요..
그래서 KeyPress에서 Key==13일때 그 값을 읽으려고,
AnsiString str := Table1.FieldByName("code").AsString;
이런식으로 했는데요..값이 널값이 넘어옵니다..
아무래도, 입력된값이 적용인 안된거 같은데, 알아내는 방법이
없을까요..
임의대로 Post를 하고 구하니까 구해지던데, 그러면 취소할때나..
여러가지 문제가 있을꺼 같습니다..
하고자 하는일은 엔터키를 눌렀을때, 그 위치의 셀의 값을 읽어서
어떤 처리를 하고, 그 처리 결과에 따라 다음 셀로 이동하든지,
다시 입력받든지 하는 것입니다...
그리고 아래에 질문을 드렸는데, 임의의 셀로 이동하는 문제 말인데요..
Table1.SelectedFiedl := Table1Field;
이런식으로 원하는 테이블의 필드를 했는데 인식을 못하더군요..
음..왜그런지..제가 잘못했는지도....그리고,
위의 방법말고, 원하는 Row와 Col값을 주면 그 위치로 이동하는
방법을 원합니다..
그럼..정말..부탁드릴께요..
> 안녕하세요...
> 여기서 자주 도움 받는 Heaven입니다..
>
> 제가 다름이 아니옵고, DBGrid에서 값을 입력받았는데..
> 엔터키를 눌렀을때 그 셀에 입력된 값을 구하고 싶습니다.
> 그 값을 가지고 어떤 처리를 하고 싶거든요..
>
> 그래서 KeyPress에서 Key==13일때 그 값을 읽으려고,
>
> AnsiString str := Table1.FieldByName("code").AsString;
>
> 이런식으로 했는데요..값이 널값이 넘어옵니다..
> 아무래도, 입력된값이 적용인 안된거 같은데, 알아내는 방법이
> 없을까요..
> 임의대로 Post를 하고 구하니까 구해지던데, 그러면 취소할때나..
> 여러가지 문제가 있을꺼 같습니다..
>
> 하고자 하는일은 엔터키를 눌렀을때, 그 위치의 셀의 값을 읽어서
> 어떤 처리를 하고, 그 처리 결과에 따라 다음 셀로 이동하든지,
> 다시 입력받든지 하는 것입니다...
>
> 그리고 아래에 질문을 드렸는데, 임의의 셀로 이동하는 문제 말인데요..
> Table1.SelectedFiedl := Table1Field;
> 이런식으로 원하는 테이블의 필드를 했는데 인식을 못하더군요..
> 음..왜그런지..제가 잘못했는지도....그리고,
> 위의 방법말고, 원하는 Row와 Col값을 주면 그 위치로 이동하는
> 방법을 원합니다..
>
> 그럼..정말..부탁드릴께요..
> ---------------------------------
첫번째 질문의 답.
KeyPress의 13키값으로 체크하면 그 셀의 값을 알수가 없읍니다.
그래서 그 셀의 값을 알고 싶으면 Tab키를 친후에 알수가 있지요.
다시 말해서 Focus가 다음셀에 가야만 그 셀의 값을 알수가 있읍니다.
두번째 질문의 답.
역시 Focus의 문제로서 Table1.SetFocus(?)명령이 빠진것 같네요. 아니면 DBGrid면 DBGrid1.SetFocus 명령이 빠졌네요.
답변이 되었으면 좋겠읍니다.