DBComboBox1Change 이벤트를 사용하면 실제로 그 콤보박스를 마우스로 건들여줘야 이벤트가 일어나죠.
실제로 DB콤보박스를 클릭하면 ItemIndex값이 변경되지만
그냥 테이블이랑 연결되어 내역이 변경될 때는 DB콤보박스의 값은 변경되어 보여지지만
ItemIndex값은 변하지 않더군요.
그래서...DBComboBox1Change 이벤트를 강재로 발생시켜줘도...무..반..응..이구요
그러므로 테이블의 내역을 변경할 때
DBComboBox의 ItemIndex값도 변경하고
OnChange이벤트도 처리해주면 되지 않을까 합니다...
무슨 테이블이나 쿼리의AfterScroll 이벤트에
<!--CodeS-->
DBComboBox1.ItemIndex := DataSet.FieldByName('대상필드').AsInteger - 1;
DBComboBox1Change(Self);
<!--CodeE-->
이렇게
대상필드가 ItemIndex랑 잘 안맞으면...
무식하게...-_-;;
IF DataSet.FieldByName('대상필드').AsString = '뭘까?' Then DBComboBox1.ItemIndex = 0;
...
IF DataSet.FieldByName('대상필드').AsString = 'OK' Then DBComboBox1.ItemIndex = 9;
잠시..델파이가 똑똑해서 그냥 바껴졌으면 하는 생각을 해봤습니다.
DBComboBox1Change 이벤트를 사용하면 실제로 그 콤보박스를 마우스로 건들여줘야 이벤트가 일어나죠.
실제로 DB콤보박스를 클릭하면 ItemIndex값이 변경되지만
그냥 테이블이랑 연결되어 내역이 변경될 때는 DB콤보박스의 값은 변경되어 보여지지만
ItemIndex값은 변하지 않더군요.
그래서...DBComboBox1Change 이벤트를 강재로 발생시켜줘도...무..반..응..이구요
그러므로 테이블의 내역을 변경할 때
DBComboBox의 ItemIndex값도 변경하고
OnChange이벤트도 처리해주면 되지 않을까 합니다...
무슨 테이블이나 쿼리의AfterScroll 이벤트에
<!--CodeS-->
DBComboBox1.ItemIndex := DataSet.FieldByName('대상필드').AsInteger - 1;
DBComboBox1Change(Self);
<!--CodeE-->
이렇게
대상필드가 ItemIndex랑 잘 안맞으면...
무식하게...-_-;;
IF DataSet.FieldByName('대상필드').AsString = '뭘까?' Then DBComboBox1.ItemIndex = 0;
...
IF DataSet.FieldByName('대상필드').AsString = 'OK' Then DBComboBox1.ItemIndex = 9;
뭐 이렇게...;;