안녕하세요...
디비그리드에서 마우스로 rowselect한 것에 특정필드의 값만 얻어오고 싶어서...
한참 찼다가 사이트에서 찾아서 써먹긴 했는데...
도대체 어떤 의민지... 잘 몰라서요.. 설명 좀 부탁드립니다..
주석 붙여주시면 더욱 더 좋고요...
////////// BOOKMARK...//////////////
with DBgrid1.SelectedRows do
if Count > 0 then
begin
for x := 0 to Count - 1 do
begin
if IndexOf(Items[x]) > -1 then
begin
DBGrid1.Datasource.Dataset.Bookmark := Items[x];
showmessage(Query_upsearch.fieldvalues['SEND_GBN']);
end;
end;
end;
디비 그리드에서 뿌려지는 값을 SelectedRows 가 가지고 잇는거구요..
SelectedRows는 TBookMarkList 형인데 이넘은 'DBGrids' <-- 맞는지 모르겠네요.
에 정의되어 있으니 한번 찾아보세요..
with DBgrid1.SelectedRows do
if Count > 0 then <-- 먼저 몇개가 선택되었는지를 살펴 보는거죠
이넘이 '0' 이하이면 선택된게 없는겁니다.
begin
for x := 0 to Count - 1 do <-- 차례대로 읽기위해서...
begin
// 인덱스를 한번더 첵크합니다.
if IndexOf(Items[x]) > -1 then
begin
// 이제 해당값을 읽기 위해서...
DBGrid1에 연결되어 있는 DataSource를 찾고 그넘에 연결되어
이있는 데이타 셋 (TQuery 겟죠? ) 의 북마크를 선택된 넘으로
이동시켜 줍니다. 이 이동이라는게 Pointer만을 전해주는거죠.
커리 결과의 현재 위치를 선택해주는거라고 보시면 됩니다.
DBGrid1.Datasource.Dataset.Bookmark := Items[x];
// 이제 값을 확인하기 위해서 Send_GBN이라는 필드값을
메세지로 보여주네요..
showmessage(Query_upsearch.fieldvalues['SEND_GBN']);
end;
end;
end;
그럼..
궁그미 wrote:
> 안녕하세요...
> 디비그리드에서 마우스로 rowselect한 것에 특정필드의 값만 얻어오고 싶어서...
> 한참 찼다가 사이트에서 찾아서 써먹긴 했는데...
> 도대체 어떤 의민지... 잘 몰라서요.. 설명 좀 부탁드립니다..
> 주석 붙여주시면 더욱 더 좋고요...
>
> ////////// BOOKMARK...//////////////
> with DBgrid1.SelectedRows do
> if Count > 0 then
> begin
> for x := 0 to Count - 1 do
> begin
> if IndexOf(Items[x]) > -1 then
> begin
> DBGrid1.Datasource.Dataset.Bookmark := Items[x];
> showmessage(Query_upsearch.fieldvalues['SEND_GBN']);
> end;
> end;
> end;