Core Function GUIDataGrid

From Sputnik Wiki
Revision as of 09:25, 14 December 2011 by UberFoX (Talk | contribs)
Jump to: navigation, search
GUIDataGrid( <datagrid> )

Contents

Description

Properties & Functions specifically for DataGrid

Parameters

datagrid

The DataGrid GUI object to use.

Functions

GetValue

Get a value at a given Column, Row

$k = 0;
For($j = 0; $j < $RowCount; $j++)
{
	For($i = 0; $i < $ColumnCount; $i++)
	{
		$Data = GUIDataGrid($GS, "GetValue", $i, $j);
		println("Col '$i' ROW '$j' DATA '$Data'");
		$k++;
	}
}

SetValue

Set a value at a given Column, Row

$k = 0;
For($j = 0; $j < $RowCount; $j++)
{
	For($i = 0; $i < $ColumnCount; $i++)
	{
		GUIDataGrid($GS, "SetValue", $i, $j, "Meows $i, $j"); 
		$k++;
	}
}

Clear

Delete all rows and columns

GUIDataGrid($GS, "Clear");

AddColumn

Add a column to the end

GUIDataGrid($GS, "AddColumn", "Four");

InsertColumn

Add a column at a given location

GUIDataGrid($GS, "InsertColumn", 0, "Zero");

DelColumn

Delete a column by name

GUIDataGrid($GS, "DelColumn", "Two");

DelColumnAt

Delete a column at a given location

GUIDataGrid($GS, "DelColumnAt", 0);

ClearColumns

Delete all columns

GUIDataGrid($GS, "ClearColumns");

GetColumns

Get array of all Column names

$Columns = GUIDataGrid($GS, "GetColumns");

Columns

Get Column count

$ColumnCount = GUIDataGrid($GS, "Columns");

SetColumns

Set the columns to all names in array

GUIDataGrid($GS, "SetColumns", array("One", "Two", "Three"));

AddRow

Add a Row to the end (Array UBound must be equal to number of columns)

GUIDataGrid($GS, "AddRow", array(1, 2, 3));

InsertRow

Insert a Row at a given location (Array UBound must be equal to number of columns)

GUIDataGrid($GS, "InsertRow", 4, array("ONE", "TWO", "THREE"));

DelRow

Delete a given Row at a given location

GUIDataGrid($GS, "DelRow", 0);

ClearRows

Delete all rows

GUIDataGrid($GS, "ClearRows");

Rows

Get Row count

$RowCount = GUIDataGrid($GS, "Rows");

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
 
// 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();');
GUILink($GS, "DeletingRow", 'UserDeleting();');
GUILink($GS, "CellBeginEdit", 'CellBeginEdit();');
GUILink($GS, "CellEndEdit", 'CellEndEdit();');
 
// Keep the GUI running as long as the window is open
While ( GUIStatus( $GUI ) ) DoEvents( );
 
// Triggers when user begins editing a cell (You have the option to cancel)
Function CellBeginEdit( )
{
	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( )
{
	println("User end edit cell '$arg[0]' '$arg[1]'");
}
 
// Triggers when user is deleting a row (You have the option to cancel)
Function UserDeleting( )
{
	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( )
{
	println("User deleted a row");
}
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox