Core Function GUICreateDataGrid
From Sputnik Wiki
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"); }