DBGrid에 대한 질문입니다.
DBGrid에서 속성중에 Options에서 dgRowSelect를 True로 그리고 dgMultiSelect도 True로 해주었습니다.
이렇게 해준이유는 Record를 선택하면 전체 Row가 셀렉트되기 위해서이고 또한 Ctrl키를 누르고 Select시에는 여러 Row가 같이 선택되도록 하기 위해서 입니다.
그런데 문제는 이겁니다. 팝업메뉴를 만들고 DBGrid에서 마우스 우측버튼을 눌렀을때 그 팝업메뉴를 띄우게 할려고 합니다.
그런데 DBGrid에서 마우스 우측버튼만 누르면 한 Row만 셀렉트된상태에서 팝업이 뜨는데...... 왼쪽클릭을 하고 나서 그 클릭한 곳의 다른위치에서 마우스 우측클릭을 하면 행이 두개가 선택이 된 상태에서 팝업이 뜹니다.....
이것을 한 행만 선택되게끔 하려면 어떻게 해야 하는지여.....
간단히 DBGrid에 연결된 PopupMenu가 열리는 시점에서
이미 선택된걸 해제시키고 현재를 선택하게만하세요.
DBGrid1.SelectedRows.CurrentRowSelected := True;는 없어도 보통 때와 같은 효과가 생기나
오른쪽 누른 효과처럼 동시에 선택하게한다면 추가해도 됩니다.
procedure TForm1.PopupMenu1Popup(Sender: TObject);
begin
DBGrid1.SelectedRows.Clear ;
// DBGrid1.SelectedRows.CurrentRowSelected := True;
end;