PDA

View Full Version : rendering in a grid does not work in IE7



reecegwt
22 Oct 2009, 1:41 PM
hi,


Label when returned from a cell renderer is not visible in IE7.

label renderer:

public
Object render(ProductTypeModel model,
String property,
ColumnData config,
int rowIndex,
int colIndex,
ListStore<ProductTypeModel> store,
Grid<ProductTypeModel> grid)
{


LabelField descriptLabelField =
new LabelField();
descriptLabelField.setText(model.<String>get(property));
ToolTipConfig tooltipConfig = new ToolTipConfig("Click to view " +
"full details, or drag to your product list on the right");

ToolTip tooltip = new ToolTip(descriptLabelField, tooltipConfig);
tooltip.setId("openPopupTip");
tooltip.setFrame(false);
tooltip.setAutoHeight(false);
tooltip.setHeight(35);
tooltip.setWidth(340);

return descriptionLabelField;

}

if a string is returned it works properly,but i need label to set the tooltip.

Also,similarly when a custom widget extending Composite is returned from a cell rendere is not visible in IE7.

It works fine in chrome and firefox.

Any help will be appreciated

Thanks
reece

sven
23 Oct 2009, 2:23 AM
There were a couple of issues with this in GXT 2.0.1.

However, the first issue i see in your code is that oyu give the same id to all tooltip. IDs needs to be unique.

activedecay
19 Aug 2010, 2:56 PM
What is the status of this thread? I have the same problem with cell renderers in IE.

Thanks,
Justin

micgala
20 Aug 2010, 12:16 AM
what version are you using, 2.0.1?
Probably you should give us some code, demonstrating your problem.

activedecay
20 Aug 2010, 7:11 AM
gxt-2.1.1, gwt-user-2.0.3




import com.google.gwt.user.client.ui.Anchor;

// Renders the Username column (turns the name into a clickable anchor which will invoke the edit user dialog)
GridCellRenderer<ModelData> userNameRenderer = new GridCellRenderer<ModelData>() {
public Object render(ModelData model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<ModelData> store, Grid<ModelData> grid) {
// associate the Anchor with the model object so we don't have to create a
// new one each time the cell is rendered
Anchor anchor = model.get(USER_NAME_ANCHOR_WIDGET);
if (anchor == null) {
String val = model.get(property);
anchor = new Anchor(val);
model.set(USER_NAME_ANCHOR_WIDGET, anchor);
anchor.setHref("javascript:;"); // override the default link behavior
anchor.addClickHandler(new EditUserHandler(store.getRecord(model)));
}
return anchor;
}
};In IE I've found, while debugging, this problematic area of code in GridView.class:


protected void renderWidgets(int startRow, int endRow) {
if (grid.isViewReady()) {
if (endRow == -1) {
endRow = ds.getCount() - 1;
}
for (int i = startRow; i <= endRow; i++) {
List<Widget> m = i < widgetList.size() ? widgetList.get(i) : null;
if (m != null) {
for (int j = 0; j < grid.getColumnModel().getColumnCount(); j++) {
Widget w = j < m.size() ? m.get(j) : null;
if (w != null) {
Element cell = getWidgetCell(i, j);
if (cell != null) {
if (w.getElement().getParentElement() == null || w.getElement().getParentElement() != cell) {
fly(cell).removeChildren();
cell.appendChild(w.getElement());
}
if (grid.isAttached()) {
ComponentHelper.doAttach(w);
}
}
}
}
}
}
}
}After clicking sort, events are fired until this code is reached, where w.getElement() is my anchor widget but the innerHTML has been wiped out.

sven
23 Aug 2010, 1:56 AM
Can you try this against 2.2 RC1? If that is not working too, than we will need a fully working testcase that implements EntryPoint

activedecay
4 Nov 2010, 4:27 PM
Hi Sven,

Tried this against the latest GXT and the problem is not fixed.

Problem is still in the same place that I posted where getElement innerHTML is empty.

GXT 2.2.0

GWT 2.0.4

sven
5 Nov 2010, 2:24 AM
Than please post a fully working testcase that implements EntryPoint and shows your problem. I never saw this problem and nobody else reported it befor.