a

Run Button in a Grid Application (Processing Records)

This new option in the Grid allows to create a button to process a PHP code in selected records (checkbox.

Creating a new button

1. Performing actions on multiple rows of a Grid application can be done creating a new “Run” button in the Grid.

   

2.Enter the name of "Process" .

   

3. This kind of button has 2 events to process PHP Codes.

onRecord: runs to each record that was selected.
onFinish: runs after process all selected records.

   

4. To do our application, first we will create some global variables in onInit event

Event Grid: OnInti

[i] = 0;

It will be our Array Key

[total_chked] = array();

Array where we will keep all selected values

   

5. Now we can use [i] and [total_chked] in the onRecord and onFinish of the Run button.

Event Button: Onrecord

   

Event Button: OnRecord
$arr=[i]; Keeping the key in a local variable

[total_chked][$arr]={ContactName};

Assigning the Contact Name to the Array
[i]++; increasing the key to access the next Array position

Event Button: OnFinish

   

Event Button: OnFinish
$tot = count([total_chked]); Counting the total of checked records.

$contacts = $tot." Selected Contacts: ";

Will keep the message to be displayed
for($x=0;$x<$tot;$x++){

$contacts .= [total_chked][$x];

if($x == ($tot-1)){

$contacts .= ".";

}else{

$contacts .= ", ";

}

}

/* This code will check who is the last selected value to add a dot, else add a comma */
echo "<table width='300px' border='1' bordercolor='#000000' cellpadding='0' cellspacing='0'>
<tr>
<td colspan='2'><strong> ($tot) Selected Contacts: <strong></td>
</tr>
<tr>
<td><font color='#003366'><strong> $contacts </strong></font> </td>
</tr>
</table>";
Display the message with all selected contacts

6.Now we should access “Application>>Global Variables” to set [i] and [total_chked] to be “OUT” variables.

   

7.Running the application, select the records and click on the “Process” button.

   

Untitled Document

Rate this Tutorial
Bad Great
Leave your comments (optional).