Editing Tables

Please review the Getting Started, User Interface Basics, Tables and Table Windows and Big Data topics before proceeding with this topic.  


This topic discusses interactive editing of tables by editing cells in one record at a time.  Edits in tables can also be accomplished on many records at a time using a combination of the Select pane, to select the records to be edited, and the Transform pane, to apply edits using a very wide variety of transform templates.  Tables can also be edited using queries.  The Edit - Join dialog can add new fields to a table and populate them with data from a different table.


To create a new, blank table:


  1. Choose File - Create - New Table, or use the context menu in the Project pane.

  2. Specify a Name for the new table.

  3. Press the Edit Schema button and use the Schema dialog to add fields and indexes and computed fields as desired to the table.

  4. Press Create Table.


We can easily create tables as in the above, but most often the tables we work with are created as a result of importing or linking data, either tables or drawings or images, or they are created by SQL we write.


Edit the structure of a table, adding or deleting columns, indexes or constraints, using the Edit - Schema dialog.

Index Required

To be editable tables must have an index and they cannot be read-only.  If a table has a light gray background in all of the columns it is not editable.  Having an index is a good idea in any event because it makes work with tables faster and it enables facilities like interactive selection.    To add an index to a table that does not have an index, see the Add an Index to a Table topic.


Tables in Manifold usually will have an index but quite often they may be linked in from read-only data sources that do not allow any changes.  For example, we may be able to view tables in an Oracle or PostgreSQL database hosted on a remote server but it could be that the IT department in charge of that server does not allow us to make any changes to tables.


Manifold automatically creates an index as necessary when importing tables into a project from many spatial data sources used in GIS work, for example, when importing a drawing.   When we import data from  sophisticated non-spatial data formats, such as a database, we usually get a table with an index as well, since DBMS people routinely will include indices for performance in their native database systems.  Manifold of course will import and will utilize those indices along with the rest of the schema and data.   


But if we import a table from a simple "data only" format like CSV where indices do not occur, then Manifold will not automatically add an index, in respect of keeping the data exactly as is in the original form.  In that case when we pop open the table we will see it with gray background color that indicates it cannot be edited.    That is not a big deal since adding an index is trivially easy:  See the Adding an Index to a Table topic for the step by step procedure.   See the Notes at the end of this topic for other unusual situations when we might be surprised to see that a table is not editable.


Interactive Editing

We can edit tables using dialogs and menu commands to do things like change the schema of a table, use SQL queries to alter the structure of tables and the data within them or we can edit tables interactively using mouse and keyboard within a table window.    This topic discusses interactive editing within a table window.    Interactive editing of tables usually only makes sense for relatively small tables as it is neither convenient nor realistic to edit tables by hand when they contain millions of records.


Table windows allow us to look into a table.  They provide interactive browsing capability by fetching data from the table to display.   When we interactively edit data shown in a table window, such as by double-clicking into a cell and changing the value, we are working with the table window as an intermediary to the table.   We can either make an immediate edit to a cell or, if desired, put the entire row into edit mode so that edits to cells are temporary until all edits to the entire row at once are committed.  That allows us to make changes in the window's data, one record at a time, before we decide to commit those changes to the table.


Default actions, such as clicking the Enter key to begin editing a cell, will apply to the current cell, which is marked by a dotted line box called the cursor


Tables use background colors to call out the status of different fields and records.   These visual cues also help editing.



Editing a Cell

In addition to native Manifold commands, Manifold also incorporates Excel-style cell editing to open cells for editing.   There are various ways to open a cell for editing, to insure the most convenient way is always available.  All these actions depend on the table window having the focus.



Immediate Edits / Temporary Edits

Manifold provides two options for editing the contents of cells in tables:




Any provisionary changes we make to a record within a table window that are shown with blue background color are temporary until we command the table window, with a Ctrl-Enter or a click on the row handle, to commit those changes by dispatching them to the table.  Cells shown with blue background color have changes that can be abandoned.  Cells with normal, white background that have been edited have had their changes already committed to the table.


Add a new row to a table by double-clicking into the last row, marked with a * asterisk in the row handle, and adding info into cells.   Press Ctrl-Enter or click the row handle to commit the new record.  Adding a new record is always a provisionary edit.


Editing a cell (immediate):


  1. Double-click any cell to open it for editing.

  2. Edit the cell as desired.  

  3. Press Esc to cancel editing or press Enter to finish editing the cell.  Done.



Double-click into any cell to open it for editing.  A click onto a cell already picked with a prior click will also open it for editing.



Edit the cell as desired and then press Enter.



Done.   Edits take effect immediately.  


Editing a cell (provisionary):


  1. Click the row handle for the record to mark it for editing.   A triangle pointer symbol will appear in the record's row handle to indicate that record is being edited.

  2. Edit the cell as desired.  Press Esc to cancel editing or press Enter to finish editing the cell. The cell background will change to blue to indicate it has been edited.

  3. Edit any other cells in the record as desired, pressing Enter to finish editing each cell.

  4. To commit the edits for the record, click the triangle pointer symbol in the record's row handle or press Ctrl-Enter.

  5. To abandon the edits, click on the row handle of any other record, double-click into the cell of any other record or press Ctrl-Backspace.  We can also right-click onto the record we have temporarily edited and choose Undo Changes.



Click onto the row handle for the record to be edited.



Edit the cell as desired and then press Enter.   The changes will be previewed in blue preview color.  Seeing a triangle pointer symbol in a record's row handle or seeing blue color in a record's cells tells us that edits have been made in that record which have not yet been committed



We can commit the edits by clicking  the triangle pointer symbol in the record's row handle, or...


...by pressing Ctrl-Enter.

If we want to abandon the edits we can right-click onto the record and choose Undo Changes, we can press Ctrl-Backspace, we can click on a different record's row handle or we can begin editing a different record by double-clicking into a cell, in which case all uncommitted prior changes will be discarded and the previously edited record will revert to the original, unedited content



Only one record at a time may be edited provisionally, but we can edit multiple fields in the same record before deciding to commit all previewed edits or abandoning them.  If we want to abandon previewed changes for only one field we can right-click onto that cell and choose Undo Changes.   


This makes it possible to edit records where more than one field must be edited at the same time in order to satisfy constraints, as shown in the Example: Create a Table with a Constraint topic.  For example, a table of records representing travel information may require that the departure date for a hotel reservation be later in time than the arrival date for that reservation.


See the Example: Editing Records in a Table  topic for a step by step example of editing records.


To manually set the value of a cell to <NULL>, right-click onto the cell and choose Delete.   

Adding New Records

If a table supports adding records the table window will display an editable, blank, template record at the end of the table, marked with an asterisk * character in the row handle.  To add a new record we edit the blank record, double-clicking into one of the record's cells to begin editing.


The asterisk * character in the row handle changes to a triangle icon in the row handle when we make edits to the blank, template record. We commit changes to the edited template record by clicking the triangle icon or by pressing Ctrl-Enter.  


Committing the changes will add a new record to the table, a new value for mfd_id will automatically appear in that field for the new record if that field is used, and a new, blank, template record marked with an asterisk * in the row handle will appear at the end of the table.


See the Example: Adding Records to a Table topic for a step by step example of adding records.

Copy, Cut, Paste

We can also insert records by pasting records that have been copied or cut from another table window, or from another drawing or drawing layer in a map window.  Pasting objects between drawings or tables that have different field names will launch the Paste dialog to allow mapping contents from one field name to a different field name.


Pasting with Ctrl-V automatically matches field names from the source drawing or table to the destination drawing or table, automatically iterating mfd_id values to avoid collisions between pasted records from the source table that originally had the same mfd_id value as existing records do in the destination table.    If field names do not match, the Paste dialog will automatically be launched.


Pasting with Shift-Ctrl-V calls up the Paste dialog even if all field names match.   In the Paste dialog,  click into a cell in the right-hand column and in the pull down menu choose ignore Field to paste objects with a NULL value in that field.  Choosing ignore Field for the special mfd_id field will automatically create new, unique mfd_id values, avoiding any collisions in mfd_id values with existing records.  The pull down menu will also allow us to map different source fields into destination fields.


We can also create a new table in the Project pane by pasting records or objects copied or cut from a table, a drawing or a drawing layer in a map window.  Copying records from a table or objects from a drawing and then pasting into the Project pane creates a table that is the same name, with an added number to iterate the name, as the source table or drawing's table.


See the Copy and Paste between Drawings or Tables topic for examples.

Keyboard Shortcuts


Select All


Deselect All


Select Inverse








Paste launching the Paste dialog




Adding New Fields

If a table supports adding new fields we do so in the Edit - Schema dialog.   See the Example: Add a Computed Field to a Table topic for a step by step example of adding a new field.


Table windows also allow us to edit the values for existing fields by choosing the Transform command in the context menu raised by right-clicking on the column head of an existing field.

No Undo after Edits are Committed

In provisionary editing, Manifold allows us to edit as many cells as we want in the same record and to then abandon those edits.   That provides a level of "undo" not available in all database systems.   In addition, while we are editing a record, after we have double-clicked into the cell but before we have pressed Enter to close the editing session in that cell, we can right-click into the cell and choose Undo to abandon edits made since we double-clicked into the cell.


Important: Either in immediate cell editing or once an edit to a record has been committed with a Ctrl-Enter in provisionary editing, the edit is permanent and cannot be undone. Like almost all database systems there is no "undo" after edits to records have been committed in Manifold.  


If we want to browse data sets without any risk of making permanent edits we can do so by checking the Open as read-only option box in the New Data Source dialog to add them as a read-only data source.

Context Menu on Cells

Right-clicking onto a cell calls up a context menu that automates many common tasks:


Add Filter

See the Filters topic.   One-click process to add a filter based on the value of that cell.

Undo Changes

Enabled only for all cells shown in blue preview color.  Abandon edits that are being previewed.


Copy the entire contents of the cell to the clipboard.  This is a useful way to copy lengthy text from a cell onto the clipboard without having to open the cell for editing.


Paste the contents of the clipboard into the cell.


Delete the contents of the cell, which creates a <NULL> value in the cell.


Enabled for cells containing text.  Launch the entire text contents of the cell in an Edit dialog.

Copy to Selection

Appears for selected records.  Copy the value of this cell to that field for all selected records.   Keyboard shortcut: Ctrl-F2


Copy contents of the selected, context cell to all selected records. A keyboard shortcut for Copy to Selection.


The right-click context menu on a cell is a fast and convenient way of copying the entire contents of one cell into another cell.  See the Manifold Future - Future Tour Part 6 Cell Context Menu video for an example.

Controls Reference

<gray background>

Values shown with gray background are read-only and cannot be edited.


Put the table cursor onto a cell.  A second click onto a picked cell will open it for immediate editing.


Open a cell for immediate editing.



Enter to open the current cell for editing, or double-click into a cell.  Enter closes the cell for editing, leaving it in blue preview color until a Ctrl-Enter commits the change.


When edits are in process, pressing Esc closes the editing session without applying changes.  


Abandon all edits for all cells shown in blue preview color.   To abandon edits for only one cell shown in blue preview color, right-click onto that cell and choose Undo Changes.


Ctrl-click anywhere in a row to toggle the selection status of that record.


Ctrl-click and drag a selection box to add to the selection all rows that are touched by or are within the box.


Alt-Ctrl-click and drag an unselection box to remove from the selection all rows that are touched by or are within the box.

Arrow Keys

Move current cell cursor up / down / left / right.


Move current cell cursor all the way to the left-most column.


Move current cell cursor all the way to the right-most column.


Move current cell cursor to the top of the table.


Move current cell cursor to the bottom of the table.

Page Up

Page Down

Move current cell cursor up or down one display page's worth.

Cell context menu

Right-clicking onto a table cell calls up  a context menu:


  • Filter - One-click choice of filters to filter the table based on that cell's value.

  • Undo Changes - Appears if a cell has been edited and is still in the preview state with blue color background.  Abandons the edit.

  • Copy - Copy the contents of the cell into the Clipboard.

  • Paste - Paste the contents of the Clipboard into the cell.

  • Delete - Delete the value in the cell, resulting in <NULL>

  • Edit - Open the contents of the cell in a larger text pane.

Scroll bar

A vertical scroll bar appears when there are more records than can fit into the window.   Scrolling the display does not move the current cell cursor.

Scroll bar clicks

Clicks in the scroll bar region:


  • Click and drag onto scroll bar handle - scroll the display.

  • Click above or below scroll bar handle - Same as Page Up or Page Down.

  • Shift-Click above or below scroll bar handle - Jump to that position.

Scroll bar context menu

Right-clicking onto the scroll bar calls up a context menu:


  • Scroll Here - Drag the scroll bar handle to the spot right-clicked and scroll the display accordingly.

  • Top - Scroll the display to the top.

  • Bottom - Scroll the display to the bottom.

  • Page Up - Scroll the display up one page.

  • Page Down - Scroll the display down one page.

  • Scroll Up - Scroll the display up one row.

  • Scroll Down - Scroll the display down one row.

Context Menu when Editing Text

While editing a text value in a cell or within the Edit dialog, a right click calls up the following context menu:



Undo changes made so far in the editing session.  The ability to undo goes away as soon as we close the editing session.


Copy highlighted text to the clipboard and delete the highlighted text.


Copy highlighted text to the clipboard.


Paste text contents of the clipboard.


Delete highlighted text.

Select All

Equivalent to Ctrl-A.  Highlight all text.

Right to Left Reading order

Display text right-aligned in order suitable for alphabets reading right to left.  

Show Unicode control characters

Display glyphs at the locations of otherwise invisible Unicode control characters.

Insert Unicode control character

Insert a Unicode control character at the location that was right-clicked, by choosing from the long list of available characters in the list that appears.  Unicode control characters guide the display of Unicode text for Unicode-aware applications.

Open / Close IME

Turn on or off Manifold's built in, Microsoft-compatible, Input Method Editor (IME) facility.   IME works with IME-aware Microsoft languages that have been installed on our computer to enable entry of non-English languages, primarily various Asian languages.


Enabled when we right-click on highlighted text that was entered using the IME facility.  Allows choice of a different conversion, for example, using katakana or kanji instead of hiragana text in Japanese.   See the example topic noted below.


For examples of use, including IME and Reconversion, see the Example: Edit Attributes, Larger Text, IME for Asian Languages topic.

Copy to Selection

The Copy to Selection command allows copying the value within a selected cell to that field in all selected records.



In the Products table we have selected all products with a Unit Price between 18 and 22 inclusive.   We want to set the Unit Price for all selected records to 20.  We Right-click on a cell that has 20 as the Unit Price.



In the context menu that pops open we choose Copy to Selection.



Instantly, the value 20 is copied into the Unit Price cells for all selected records.


The keyboard shortcut of Ctrl-F2, copies the value of the cell designated by the cursor to all selected records.



Suppose the table cursor is on a cell with a Unit Price of 18.   Press Ctrl-F2.



That instantly copies the value of 18 into the Unit Price cell of all selected records.


One More Thing...

Tech tip: Have we mentioned that tables are editable available only if there is a btree or similar index in a table?   See the Adding an Index to a Table topic.


How to tell why a table is not editable?  - Gray background in all of the fields of a table indicates all fields are read-only.  There are three reasons why all of the fields may be read-only:



Data sources might be read-only because they were created with the Open as read-only option box checked in the New Data Source dialog.  However, some tables brought into Manifold from an external data source may be read-only because of access permissions or other security controls on the database in use, as a result of permissions or policies in the operating system or limitations of the connection to a remote database.


Deletions are Confirmed - Deleting records in a table window displays a confirmation dialog. The default button in the confirmation dialog is set to Cancel.  If we do not want to see the confirmation dialog, we can check the Never show this again box.  That will remove the confirmation dialog for deleting frames in layouts, for deleting objects in drawing layers, for deleting labels, and for deleting records in tables.    Another way to eliminate the confirmation dialog is to uncheck the Confirm deleting records box in the Tools - Options dialog.  


How to edit more than one record at a time?  - To edit more than one record at a time we can use queries. We can also use the Copy to Selection feature, as described in this topic.


Copy to Selection - Copy to Selection is so fast that normally it is instant; however, when doing big Copy to Selection in tables within data sources that are connected through slow communications links or which are slow data sources, there might be time for a progress dialog to appear, which reports progress of the operation and allows it to be canceled, the data source permitting.   The total time required for Copy to Selection is logged in the Log Window.  


Copy to Selection and Delete commands disabled - Table windows will disable Copy to Selection and Delete commands for values in a field that belongs to an index used by the table as a key.  


Editing Fields with Long Text - To edit fields with long text we use the Edit dialog, as seen in the Example: Edit Attributes and Move a Point and the Example: Edit Attributes, Larger Text, IME for Asian Languages topics.  Those examples use the Info pane but editing cells with long text in tables is exactly the same.


Unicode and Other Languages - For advanced Unicode editing and entry of various languages Manifold's cell editing in tables is fully Input Method Editor (IME) enabled.  See the Example: Edit Attributes, Larger Text, IME for Asian Languages topic.


See Also

Getting Started


User Interface Basics


Copy and Paste between Drawings or Tables




Data Types


Add an Index to a Table


Info Pane: Component


Layers Pane


Info Pane


Select Pane


Transform Pane


Edit - Join


Table Windows and Big Data


Example: Closing without Saving - An example that shows how File - Close without saving the project can affect local tables and components differently from those saved already into a data source, such as an .mdb file database.


Example: Editing Records in a Table


Example: Adding Records to a Table


Example: Add a Computed Field to a Table


Example: Edit Attributes and Move a Point - We look at the attributes for a point in a drawing layer and edit one of the attributes using a more expanded Edit dialog.  We then move the point to a new location. Easy!


Example: Edit Attributes, Larger Text, IME for Asian Languages - A tour showing how to edit attributes in a drawing using the Info pane Values tab and the expanded Edit dialog, including advanced Unicode facilities and use of the built in Input Method Editor (IME) to input text in Japanese language.


Manifold 9 - Copy to Selection - A short video showing how to copy the same, desired value to fields in all selected records.  This is a great way to make changes to many records at once in a table.  This technique is a life saver when making edits to tables.  Works in the free Viewer, too.


The following videos show use of the Record pane (now known as the Info pane), but the editing moves they show are identical when applied to editing cells within tables.


Manifold Future - Future Tour Part 4 Edit Attributes, Move a Point - We use Manifold Future to see how to view attributes of objects in drawings, including use of the new Edit dialog to view long, multi-paragraph text fields.  We edit fields and see how easy it is to preview edits and either accept them or abandon them. We switch to editing the geometry of objects in a drawing, viewing the coordinate locations and using mouse moves to reposition points. We edit the location of a point to correct an error in a drawing, using Google Satellite view to provide context for the correction.  Fast and easy, with previews all the way!


Manifold Future - Future Tour Part 5 Unicode Attributes and IME -  We take a tour through Manifold Future attribute editing, showing how to edit attributes in a drawing using the Record pane Values tab and the expanded Edit dialog, including advanced Unicode facilities and use of the built in Input Method Editor (IME) to input text in Japanese language.


Manifold Future - Future Tour Part 6 Cell Context Menu - A short video showing a fast and easy way to copy between cells in tables using the context menu.  Also... one step undo of pending changes,  setting the value of a cell to NULL and more. The context menu on cells is such a simple thing but it makes repetitive editing of tables much faster and easier.