The TDBGrid control lets users change data directly within grid cells. This topic explains how you can activate an in-place editor from scripts. Note that before activating the cell’s in-place editor, you need to locate the desired cell within the grid and select it. To search for the desired row, you can use the methods described here: Searching for Records in Borland TDBGrid. The Selecting Cells in Borland TDBGrid topic explains how you can select the desired grid cell.
![]() |
To perform these actions, TestComplete must have access to internal methods and properties of the TDBGrid control. This requires the following conditions be met:
When testing Borland TDBGrid controls, use specific methods and properties of the corresponding |
It is possible to activate the edit mode of the current cell in the following ways:
- By clicking the cell. You can use the
ClickCell
action of aBorlandTDBGrid
object corresponding to the TDBGrid control. - By pressing the Enter or F2 key. You can simulate this key press using the
Keys
action applied to the grid control. - By setting the grid’s
EditorMode
property to True.
The following example demonstrates how you can implement some of these approaches in scripts:
Example
JavaScript, JScript
function Main ()
{
var p, Grid;
// Obtain the grid object
p = Sys.Process("csdemos");
p.VCLObject("FrmLauncher").VCLObject("BtnViews").ClickButton();
Grid = p.VCLObject("FrmViewDemo").VCLObject("Panel2").VCLObject("DBGrid1");
ActivateCellEditor (Grid, 2, "LastName");
Grid.Keys ("Clemens" + "[Enter]");
}
function ActivateCellEditor (Grid, RowIndex, ColumnId)
{
// Select the cell
Grid.ClickCell (RowIndex, ColumnId);
// Use any of the following statements to activate the edit mode:
// Grid.ClickCell (RowIndex, ColumnId); // Click the cell
Grid.Keys ("[Enter]"); // Simulate the Enter shortcut
}
Python
def Main():
# Obtain the grid object
p = Sys.Process("csdemos")
p.VCLObject("FrmLauncher").VCLObject("BtnViews").ClickButton()
Grid = p.VCLObject("FrmViewDemo").VCLObject("Panel2").VCLObject("DBGrid1")
ActivateCellEditor (Grid, 2, "LastName")
Grid.Keys ("Clemens" + "[Enter]")
def ActivateCellEditor (Grid, RowIndex, ColumnId):
# Select the cell
Grid.ClickCell (RowIndex, ColumnId)
# Use any of the following statements to activate the edit mode:
# Grid.ClickCell (RowIndex, ColumnId) # Click the cell
Grid.Keys ("[Enter]") # Simulate the Enter shortcut
VBScript
Sub Main
Dim p, Grid
' Obtain the grid object
Set p = Sys.Process("csdemos")
p.VCLObject("FrmLauncher").VCLObject("BtnViews").ClickButton
Set Grid = p.VCLObject("FrmViewDemo").VCLObject("Panel2").VCLObject("DBGrid1")
Call ActivateCellEditor (Grid, 2, "LastName")
Grid.Keys ("Clemens" & "[Enter]")
End Sub
Sub ActivateCellEditor (Grid, RowIndex, ColumnId)
' Select the cell
Call Grid.ClickCell (RowIndex, ColumnId)
' Use any of the following statements to activate the edit mode:
' Call Grid.ClickCell (RowIndex, ColumnId) ' Click the cell
Grid.Keys ("[Enter]") ' Simulate the Enter shortcut
End Sub
DelphiScript
procedure ActivateCellEditor (Grid, RowIndex, ColumnId);
begin
// Select the cell
Grid.ClickCell (RowIndex, ColumnId);
// Use any of the following statements to activate the edit mode:
// Grid.ClickCell (RowIndex, ColumnId); // Click the cell
Grid.Keys ('[Enter]'); // Simulate the Enter shortcut
end;
procedure Main;
var p, Grid : OleVariant;
begin
// Obtain the grid object
p := Sys.Process('csdemos');
p.VCLObject('FrmLauncher').VCLObject('BtnViews').ClickButton;
Grid := p.VCLObject('FrmViewDemo').VCLObject('Panel2').VCLObject('DBGrid1');
ActivateCellEditor (Grid, 2, 'LastName');
Grid.Keys ('Clemens' + '[Enter]');
end;
C++Script, C#Script
function Main ()
{
var p, Grid;
// Obtain the grid object
p = Sys["Process"]("csdemos");
p["VCLObject"]("FrmLauncher")["VCLObject"]("BtnViews")["ClickButton"]();
Grid = p["VCLObject"]("FrmViewDemo")["VCLObject"]("Panel2")["VCLObject"]("DBGrid1");
ActivateCellEditor (Grid, 2, "LastName");
Grid["Keys"]("Clemens" + "[Enter]");
}
function ActivateCellEditor (Grid, RowIndex, ColumnId)
{
// Select the cell
Grid["ClickCell"](RowIndex, ColumnId);
// Use any of the following statements to activate the edit mode:
// Grid["ClickCell"](RowIndex, ColumnId); // Click the cell
Grid["Keys"]("[Enter]"); // Simulate the Enter shortcut
}
See Also
Working With Borland TDBGrid
Selecting Cells in Borland TDBGrid
Obtaining and Setting Cell Values in Borland TDBGrid
ClickCell Action (Grid Controls)
Keys Action