리얼그리드 더블클릭 이밴트에 이밴트를 두개 걸었습니다.
예)
1번필드 2번필드 3번필드 4번필드
1번을 더블클릭하면 서브폼이뜹니다.
2번을 더블클릭하면 * 표시가 나게했습니다
근데 다를곳을 더블클릭해도 모두 이 이밴트들이 발생하는군요
어떻게 리얼그리드의 필드를 구분할수 없는지요?
procedure Tform1.kkkgrdDblClick(Sender: TObject);
begin
with kkkgrd do
begin
if cells[selectedindex,row] = cells[1,row] then
begin
서프폼을 띠워라..
end;
end;
with kkkgrd do
begin
if cells[selectedindex,row] = cells[2,row] then
begin
if cells[2,row].Value = '*' then cells[2,row].value := ''
else cells[2,row].Value := '*';
end;
end;
end;
**********************
cell[selectedindes,row].value = cell[2,row].value ...... 이렇게 해도 더블클릭에서 무조건 뜨네요
1번필드의 Col 값은 0, 2번필드의 Col 값은 1 이라고 예로 들겠습니다.
procedure TForm1.kkkgrdDblClick(Sender: TObject);
begin
with kkkgrd do
begin
if Col = 0 then
begin
{ 서브폼 띄우기 처리 }
end else
if Col = 1 then
begin
{ * 표시가 나게 처리 }
if Cells[2,Row] = '*' then
Cells[2,Row] := ''
else
Cells[2,Row] := '*';
end;
{ 아니면 case 문을 쓰시던지요 }
{
case Col of
0 : { 서브폼 띄우기 처리 }
1 : if Cells[2,Row] = '*' then
Cells[2,Row] := #0 // #0 는 '' 과 같습니다.
else
Cells[2,Row] := '*';
end;
}
end;
end;