Core Function GUIDataGrid

From Sputnik Wiki
(Difference between revisions)
Jump to: navigation, search
(Example)
Line 162: Line 162:
 
=== Example ===
 
=== Example ===
  
<syntaxhighlight lang="sputnik">
+
Go see [[Core Function GUICreateDataGrid|GUICreate( "DataGrid" )]] for 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");
+
}
+
</syntaxhighlight>
+
  
 
[[Category:Core Function]]
 
[[Category:Core Function]]

Revision as of 03:14, 15 December 2011

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

Go see GUICreate( "DataGrid" ) for example.

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox