August 04, 2012

How to update multiple rows at backend and refresh the UI?


Update multiple rows at backend and refresh the UI at the same time.


Hi friends,
           
              Some times we need to update multiple rows in grid (Form) and the same time need to refresh the user interface also. 
For example:-
In a form grid there is a check box that is for  xyzValue = Yes or No. all the selected records should be update when user press a button. In following image we are going to post all selected reords and at the same time we update all selected rows in back end as well as refresh the UI also.



    to do this write following code in your click method of post button.

void clicked()
{
    Ax_dataSource                                  _ Ax_dataSource  ;   // your data source Table
    ; 
    ttsbegin;
    while select forupdate   _ Ax_dataSource where   _ Ax_dataSource .Status == AllOpenPosted::Open
                                           &&   _ Ax_dataSource .checkBox == NoYes::Yes
    {
             // write here your required updation  after posting
          _ Ax_dataSource .Status    = AllOpenPosted::Posted;     
          _ Ax_dataSource .checkBox  = NoYes::No;                 
          _ Ax_dataSource .update();
        
    }
    ttscommit;
     Ax_dataSource _ds.refresh();        
     Ax_dataSource _ds .reread();
     Ax_dataSource _ds .research();
   super();
}

-Harry

July 26, 2012

How to split a Form in two window

hi Friends,
WE a going to create a new form and want to show this form in two interrelated windows, like the following form
Untitled
on the basis of the header the line level information will update,
so for get this type of design in your form you have to write three methods in from design.
1.
int mouseDown(int x, int y, int button, boolean ctrl, boolean shift)
{
    int ret;
    ret = super(x, y, button, ctrl, shift);
    return _formSplitterVertical.mouseDown(x, y, button, ctrl, shift);
}

2.
int mouseMove(int x, int y, int button, boolean ctrl, boolean shift)
{
    int ret;
    ret = super(x, y, button, ctrl, shift);
    return _formSplitterVertical.mouseMove(x,y,button,ctrl,shift);
}

3.
int mouseUp(int x, int y, int button, boolean ctrl, boolean shift)
{
    int ret;
    ret = super(x, y, button, ctrl, shift);
    return _formSplitterVertical.mouseUp(x, y, button, ctrl, shift);
}

after adding these three methods in your form design it will spilt  into two windows, now write your code for validation what ever is your requirement.

- Harry