2012-04-04 3 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"のクエリがありません。あなたがsportsや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にその多くのレコードを提示することはおそらく、まずは悪い考えです。

関連する問題