this is a tough one.

I have a column of grid cells which has a ColorMenu to allow the user select a color. Then in the grid cell, I want to change the background color right after the selection.

I use the following CellRenderer to change the background color

Code:
GridCellRenderer colorRenderer = new GridCellRenderer() {
			public String render(ModelData model, String property,
					ColumnData config, int rowIndex, int colIndex,
					ListStore store, Grid grid) {
				String cellValue = "";
				String bgcolor = "";
				String colorValue = model.get(property);
				
				if (colorValue != null && !colorValue.equals("")){
					bgcolor = BACKGROUND + "#" + colorValue + ";";
				}

				if (bgcolor.length() > 0) {
					if (config.style == null) {
						config.style = bgcolor;
					} else if (!config.style.contains(BACKGROUND)) {
						config.style = bgcolor + config.style;
					}
				}
				return colorValue; 
			}
		};
it applies the user chosen color to the cell background.

however, the new style is not applied after celleditor completes editing. Instead the color does not show up until you click on a grid cell.

Any one knows how I can get the background color to take effect as soon as the celleditor completes editing? Note the color value does show up immediately after the color menu closes. which indicates the model has been updated. the delay is only with the new style.