[ 파워빌더.DataWindow - 라인 선택 ]
☞ 여러 라인 선택 | |
윈도우 탐색기를 보면 Ctrl + Click의 경우 계속해서 선택하고, Shift + Click의 경우 처음과 나중클릭을 전부 선택하는 기능이 있습니다. 이 기능을 DataWindow에 적용하는 방법입니다.
먼저 Global 함수를 만듭니다. //**************************************// 함수명 :gf_multi_select 전달값 :a_dw(datawindow),al_row(현재row) //**************************************//
long w_selrow, i
if al_row <= 0 then return
if keydown(keyshift!)then w_selrow = a_dw.GetSelectedRow(0) if w_selrow > 0 then for i = min(w_selrow,al_row) to max(w_selrow, al_row) a_dw.SelectRow(i,true) next else a_dw.SelectRow(al_row,true) end if elseif keydown(KeyControl!) then if a_dw.isSelected(al_row) then a_dw.SelectRow(al_row,false) else a_dw.SelectRow(al_row,true) end if else if a_dw.isSelected(al_row) then a_dw.SelectRow(0,false) else a_dw.SelectRow(0,false) a_dw.SelectRow(al_row,true) end if end if //**************************************//
이 함수를 해당 Datawindow의 Clicked Event에서 부르면 됩니다.
Clicked Event Script if row < 1 then return gf_multi_select(this,row) | |
☞ 선택 row갯수 파악 | |
ll_selectedcount = Long(dw_1.Describe("Evaluate('sum(if(isselected(),1,0) for all)',1)")) | |
☞ row에 마우스 Over 되면 row 색 변하게 하기 | |
[mousemove]
dwobject = dw_data.GetObjectAtPointer() IF Long(ls_row) = 0 THEN RETURN dw_data.Modify("DataWindow.Detail.Color=~"553648127~tif ( getrow() = " + ls_row + ", rgb(255,240,240), rgb(255,255,255) )~"") |
'파워빌더 > DataWindow' 카테고리의 다른 글
파워빌더.DataWindow - Type 알아내기 (0) | 2017.01.26 |
---|---|
파워빌더.DataWindow - RowsCopy (0) | 2017.01.26 |
파워빌더.DataWindow - titlebar 존재 시 이동 금지 (0) | 2017.01.26 |
파워빌더.DataWindow - 컬럼 Clpboard에 복사 (0) | 2017.01.26 |
파워빌더.DataWindow - Expression 활용하기 (0) | 2017.01.26 |