2012-04-04 1 views
2

진행률 응용 프로그램에서 브라우저를 사용할 때 스크롤 막대가 제대로 작동하지 않습니다. 그것은 조금 아래로 스크롤 할 수 있지만 그 다음가는 것을 보여줄 것입니다. 이 버그가 진행 중이거나이 문제를 해결하기 위해 할 수있는 일이 있습니까? 나는이 같은 브라우저를 사용하는 경우진행률 사용 10.2b 스크롤 막대를 올바르게 작동 시키려면 어떻게해야합니까?

/* Connected Databases 
     sports2000  PROGRESS 
*/ 
&Scoped-define WINDOW-NAME wWin 
{adecomm/appserv.i} 
CREATE WIDGET-POOL. 
{src/adm2/widgetprto.i} 
&Scoped-define PROCEDURE-TYPE SmartWindow 
&Scoped-define DB-AWARE no 
&Scoped-define ADM-CONTAINER WINDOW 
&Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source 
&Scoped-define FRAME-NAME fMain 
&Scoped-define BROWSE-NAME BROWSE-2 
&Scoped-define INTERNAL-TABLES Order 
&Scoped-define FIELDS-IN-QUERY-BROWSE-2 Order.PO Order.OrderDate ~ 
Order.Ordernum 
&Scoped-define ENABLED-FIELDS-IN-QUERY-BROWSE-2 Order.PO Order.OrderDate ~ 
Order.Ordernum 
&Scoped-define ENABLED-TABLES-IN-QUERY-BROWSE-2 Order 
&Scoped-define FIRST-ENABLED-TABLE-IN-QUERY-BROWSE-2 Order 
&Scoped-define QUERY-STRING-BROWSE-2 FOR EACH Order NO-LOCK INDEXED-REPOSITION 
&Scoped-define OPEN-QUERY-BROWSE-2 OPEN QUERY BROWSE-2 FOR EACH Order NO-LOCK INDEXED-REPOSITION. 
&Scoped-define TABLES-IN-QUERY-BROWSE-2 Order 
&Scoped-define FIRST-TABLE-IN-QUERY-BROWSE-2 Order 
&Scoped-define OPEN-BROWSERS-IN-QUERY-fMain ~ 
~{&OPEN-QUERY-BROWSE-2} 
&Scoped-Define ENABLED-OBJECTS BROWSE-2 
DEFINE VAR wWin AS WIDGET-HANDLE NO-UNDO. 

DEFINE QUERY BROWSE-2 FOR 
    Order SCROLLING. 
DEFINE BROWSE BROWSE-2 
    QUERY BROWSE-2 NO-LOCK DISPLAY 
    Order.PO FORMAT "x(20)":U 
    Order.OrderDate FORMAT "99/99/99":U 
    Order.Ordernum FORMAT "zzzzzzzzz9":U 
    ENABLE 
    Order.PO 
    Order.OrderDate 
    Order.Ordernum 
WITH NO-ROW-MARKERS SEPARATORS SIZE 59 BY 8.1 FIT-LAST-COLUMN. 
/* ************************ Frame Definitions *********************** */ 
DEFINE FRAME fMain 
BROWSE-2 AT ROW 4.81 COL 13 WIDGET-ID 200 
WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY 
    SIDE-LABELS NO-UNDERLINE THREE-D 
    AT COL 1 ROW 1 
    SIZE 80 BY 17 WIDGET-ID 100. 

IF SESSION:DISPLAY-TYPE = "GUI":U THEN 
CREATE WINDOW wWin ASSIGN 
    HIDDEN    = YES 
    TITLE    = "<insert SmartWindow title>" 
    HEIGHT    = 17 
    WIDTH    = 80 
    MAX-HEIGHT   = 28.81 
    MAX-WIDTH   = 146.2 
    VIRTUAL-HEIGHT  = 28.81 
    VIRTUAL-WIDTH  = 146.2 
    RESIZE    = no 
    SCROLL-BARS  = no 
    STATUS-AREA  = no 
    BGCOLOR   = ? 
    FGCOLOR   = ? 
    THREE-D   = yes 
    MESSAGE-AREA  = no 
    SENSITIVE   = yes. 
ELSE {&WINDOW-NAME} = CURRENT-WINDOW. 

{src/adm2/containr.i} 
IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wWin) 
THEN wWin:HIDDEN = yes. 
&Scoped-define SELF-NAME wWin 
ON END-ERROR OF wWin /* <insert SmartWindow title> */ 
OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO: 
/* This case occurs when the user presses the "Esc" key. 
In a persistently run window, just ignore this. If we did not, the 
application would exit. */ 
IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY. 
END. 

ON WINDOW-CLOSE OF wWin /* <insert SmartWindow title> */ 
DO: 
    /* This ADM code must be left here in order for the SmartWindow 
    and its descendents to terminate properly on exit. */ 
    APPLY "CLOSE":U TO THIS-PROCEDURE. 
    RETURN NO-APPLY. 
END. 

&Scoped-define BROWSE-NAME BROWSE-2 
&UNDEFINE SELF-NAME 

/* *************************** Main Block *************************** */ 

/* Include custom Main Block code for SmartWindows. */ 
{src/adm2/windowmn.i} 

/* ********************** Internal Procedures *********************** */ 

PROCEDURE adm-create-objects : 

END PROCEDURE. 

PROCEDURE disable_UI : 
    /* Delete the WINDOW we created */ 
    IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wWin) 
    THEN DELETE WIDGET wWin. 
    IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE. 
END PROCEDURE. 


PROCEDURE enable_UI : 
    ENABLE BROWSE-2 
     WITH FRAME fMain IN WINDOW wWin. 
    {&OPEN-BROWSERS-IN-QUERY-fMain} 
    VIEW wWin. 
END PROCEDURE. 


PROCEDURE exitObject : 

    APPLY "CLOSE":U TO THIS-PROCEDURE. 
    RETURN. 

END PROCEDURE. 

, 나는 다음 스크롤 막대의 아래쪽 화살표를 클릭하고 아래로 스크롤 막대를 끌어와 스크롤 막대의 아래쪽에있는 경우에도 행 (아직있다 화면).

+0

아마도 일부 샘플 코드를 표시 할 수 있습니까? –

+0

고마워, 내 질문에 몇 가지 코드를 추가했습니다. – Bill

+0

코드가 컴파일되지 않습니다. 최소한 "browse-4"쿼리가 누락되었습니다. 스포츠 또는 sports2000 데이터베이스에서 작동하는 무언가를 제공하는 것이 가장 좋습니다. –

답변

3

"sports2000"데이터베이스를 사용하기 위해 샘플 코드를 다시 작성했는데 어떤 일이 일어나고 있는지 확인할 수 있습니다.

define query browse-4 for customer. 

DEFINE BROWSE BROWSE-4 
QUERY BROWSE-4 NO-LOCK DISPLAY 
    custNum name 
/* ENABLE name */ 
WITH NO-ROW-MARKERS SEPARATORS SIZE 32 BY 6.46 FIT-LAST-COLUMN. 
. 

open query browse-4 preselect each customer no-lock. 

enable browse-4. 

wait-for window-close of current-window. 

키 변경은 OPEN QUERY에서 PRESELECT를 사용하는 것입니다. 그렇지 않으면 결과 집합의 일부만 반환됩니다. 이것은 알려진 기능입니다.

쿼리가 수천 개의 레코드를 포함하는 경우 PRESELECT가 제대로 수행되지 않을 수 있습니다. 물론 UI에 많은 레코드를 제시하는 것은 아마도 좋지 않은 생각 일 것입니다.

관련 문제