Q&A

  • bookmark에 대해서 설명 좀 해주세요.
안녕하세요...

디비그리드에서 마우스로 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;

1  COMMENTS
  • Profile
    하얀까마귀 2001.04.24 10:10
    음... 북마크는 TBookmark 형을 가지고 있는겁니다. 이넘은 그냥 포인터구요..

    디비 그리드에서 뿌려지는 값을 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;