Core Function GUICreateDataGrid

From Sputnik Wiki
Jump to: navigation, search
GUICreate( "DataGrid", <gui object>, <Text>, <Left>, <Top>, <Width>, <Height> )

Contents

Description

Create a DataGrid

Parameters

gui object

The GUI object to place the DataGrid on.

text

The text the button should display.

left

LEFT Position to create the object.

top

TOP Position to create the object.

width

Optional; The width of the object.

height

Optional; The height of the object.

Return Value

Success: Returns the new GUI object.

Failure: Returns 0 if error occurs.

Example

// Create the GUI
$GUI = GUICreate("Window","DataGrid Test", 640, 480, -1, -1, 1); // Create a fixed dialog
$hWnd = GUIGetProp($GUI, "Handle"); // GUIs hWnd for use with Win__() functions if needed
//WinMove($hWnd, "", 0, 0); // Uncomment for example of using Win__() functions on a GUI window
GUILoad( $GUI ); // Show the GUI
 
// Create the DataGrid
$GS = GUICreate("DataGrid", $GUI, 8, 8, 610, 430);
$hWndGS = GUIGetProp($GS, "Handle"); // GUIs hWnd for use with Control__() functions if needed
//ControlHide($hWnd, "", $hWndGS); // Uncomment for example of using Control__() functions on a GUI object
 
//GUISetProp($GS, "AllowUserToDeleteRows", 0); // Uncomment to disallow deleting rows
//GUISetProp($GS, "AllowUserToAddRows", 0); // Uncomment to disallow adding rows
//GUISetProp($GS, "AllowUserToResizeRows", 0); // Uncomment to disallow resize rows
//GUISetProp($GS, "AllowUserToResizeColumns", 0); // Uncomemnt to disallow resize colums
//GUISetProp($GS, "AllowUserToOrderColumns", 0); // Uncomment to disallow order columns
 
// Set the colums for the Grid
GUIDataGrid($GS, "SetColumns", array("One", "Two", "Three"));
 
// Add some rows to it
GUIDataGrid($GS, "AddRow", array(1, 2, 3));
GUIDataGrid($GS, "AddRow", array(4, 5, 6));
GUIDataGrid($GS, "AddRow", array(7, 8, 9));
GUIDataGrid($GS, "AddRow", array("ABC", "XYZ", "OMG"));
GUIDataGrid($GS, "InsertRow", 4, array("ONE", "TWO", "THREE"));
 
//GUIDataGrid($GS, "Clear");// Uncomment to delete all data in the Data Grid
//GUIDataGrid($GS, "DelColumn", "Two"); // Uncomment to delete column "Two"
//GUIDataGrid($GS, "DelColumnAt", 0); // Uncomment to delete column at index 0
//GUIDataGrid($GS, "DelRow", 0); // Uncomment to delete row at index 0
//GUIDataGrid($GS, "AddColumn", "Four"); // Uncomment to add a another column
//GUIDataGrid($GS, "InsertColumn", 0, "Zero"); // Uncomment to insert a another column at index 0
 
/*// Uncomment to change how the selection mode works you can remove variables to limit it
GUIDataGrid($GS, 	"SelectionMode", 
			@CellSelect | 
			@FullColumnSelect | 
			@FullRowSelect | 
			@RowHeaderSelect | 
			@ColumnHeaderSelect);
*/
 
// Get the colum and row count
$ColumnCount = GUIDataGrid($GS, "Columns"); // Get column count
$RowCount = GUIDataGrid($GS, "Rows"); // Get row count
$Columns = GUIDataGrid($GS, "GetColumns"); // Get array of all columns
 
// Print the count
println("Columns '$ColumnCount' Rows '$RowCount'");
 
// Loop through all rows and colums and print their values
$k = 0;
For($j = 0; $j < $RowCount; $j++)
{
	For($i = 0; $i < $ColumnCount; $i++)
	{
		$Data = GUIDataGrid($GS, "GetValue", $i, $j);
		//GUIDataGrid($GS, "SetValue", $i, $j, "Meows $i, $j"); // Uncomment to replace data at this position
		println("Col '$Columns[$i]' ROW '$j' DATA '$Data'");
		$k++;
	}
}
 
// Assign some links
GUILink($GS, "DeletedRow", 'UserDeleted($arg);');
GUILink($GS, "DeletingRow", 'UserDeleting($arg);');
GUILink($GS, "CellBeginEdit", 'CellBeginEdit($arg);');
GUILink($GS, "CellEndEdit", 'CellEndEdit($arg);');
 
// Setup some hotkeys
HotKeySet('{F1}', "ShowSelectedCells();");
HotKeySet('{F2}', "ShowSelectedColumns();");
HotKeySet('{F3}', "ShowSelectedRows();");
 
// Keep the GUI running as long as the window is open
While ( GUIStatus( $GUI ) ) DoEvents( );
 
// Triggered by hotkey F1 this will print the cell locations that are selected
Function ShowSelectedCells()
{
	$SelectedCells = GUIDataGrid($GS, "GetSelectedCells");
	if($SelectedCells)
	{
		println("Selected Cells Below");
		foreach($SelectedCells as $cell)
		{
			List( $ColumnID, $RowID ) = $cell;
			println("User has selected cell at ColumnID ' $ColumnID' RowID '$RowID'");
		}
		println("Selected Cells Above");
	}
	else
	{
		println("No Cells are selected");
	}
}
 
// Triggered by hotkey F2 this will print the columns that are selected
Function ShowSelectedColumns()
{
	$SelectedColumns = GUIDataGrid($GS, "GetSelectedColumns");
	if($SelectedColumns)
	{
		println("Selected Columns Below");
		foreach($SelectedColumns as $ColumnID)
		{
			println("User has selected ColumnID '$ColumnID'");
		}
		println("Selected Columns Above");
	}
	else
	{
		println("No Columns are selected");
	}
}
 
// Triggered by hotkey F3 this will print the rows that are selected
Function ShowSelectedRows()
{
	$SelectedRows = GUIDataGrid($GS, "GetSelectedRows");
	if($SelectedRows)
	{
		println("Selected Rows Below");
		foreach($SelectedRows as $RowID)
		{
			println("User has selected RowID '$RowID'");
		}
		println("Selected Rows Above");
	}
	else
	{
		println("No Rows are selected");
	}
}
 
// Triggers when user begins editing a cell (You have the option to cancel)
Function CellBeginEdit( $arg )
{
	println("User begin edit cell '$arg[0]' '$arg[1]'");
	//return 1; // Uncomment this to disallow the user to edit this cell
}
 
// Triggers when user finishes editing a cell
Function CellEndEdit( $arg )
{
	println("User end edit cell '$arg[0]' '$arg[1]'");
}
 
// Triggers when user is deleting a row (You have the option to cancel)
Function UserDeleting( $arg )
{
	println("User is deleting the row '$arg'");
	//return 1; // Uncomment this to cancel the users delete
}
 
// Triggers when user has deleted a row
Function UserDeleted( $arg )
{
	println("User deleted a row");
}
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox