Bryan Oakley's combobox package is a library extension for Tcl/Tk versions 8.0 or higher, written in pure Tcl/Tk code. Its download location is
http://www1.clearlight.com/~oakley/tcl/combobox
Tablelist supports interactive cell editing with the aid of the combobox widget implemented in the package mentioned above. The steps needed for using this widget for editing the cells of a given column are as follows:
tablelist::addOakleyCombobox command described
    below.columnconfigure
    subcommand to set the given column's -editable option to true
    and its -editwindow option to
    the value returned by the command mentioned above.  (These options are
    supported at cell level, too, with the aid of the cellconfigure
    subcommand.)tablelist::addOakleyCombobox
  Commandtablelist::addOakleyCombobox – Register Bryan
    Oakley's combobox widget for interactive cell editingtablelist::addOakleyCombobox ?name?
-editwindow column or
    cell configuration option.  It may be any string that is different
    from the Tk core and tile edit window names.  The default is
    combobox.  The command returns its
    name argument.name will be created with its
    -editable option set to 1.  You can
    use the script corresponding to the -editstartcommand
    tablelist configuration option to make the combobox non-editable or define
    validations for its entry child (whose path name can be obtained by
    invoking the tablelist widget's entrypath subcommand, or by
    appending .entry to the path name of the combobox
    widget, or, if using combobox version 2.3 or later, with the aid of the
    combobox widget's  subwidget entry 
    subcommand), as well as for populating its listbox component (by using the
    combobox widget's  list insert 
    subcommand).