Tengo un problema bastante peculiar. Estoy usando CellTable de la versión GWT 2.2. CellTable está configurado para el diseño fijo. Tengo una columna editable (TextInputCell) en la tabla.Establecer el ancho de una columna sin recorte TextInputCell en GWT 2.2 ¿CellTable?
Actualmente estoy usando el método setColumnWidth en la CellTabel para corregir el ancho de la columna. Esto funciona bien, pero no impone la restricción de ancho en el elemento de texto de entrada. Como resultado, el campo de entrada del editor se desborda debajo de la columna, dando la impresión de que está recortada.
Aquí hay un ejemplo de código de documentos de GWT modificado para demostrar el problema. Tenga en cuenta que el campo de nombre no cambia de tamaño y se desborda dentro de la tabla.
Trial clase pública implementa EntryPoint { privada clase estática de contacto {static int privada NextID = 0;
private final int id;
private final String address;
private Date birthday;
private String name;
private Long number;
public Contact(String name, Date birthday, String address, Long number)
{
nextId++;
this.id = nextId;
this.name = name;
this.birthday = birthday;
this.address = address;
this.number = number;
}
}
private static final List<Contact> CONTACTS = Arrays.asList(new Contact("John", new Date(80, 4, 12), "123 Fourth Avenue", 0L), new Contact("Joe",
new Date(85, 2, 22), "22 Lance Ln", 1L), new Contact("George", new Date(46, 6, 6), "1600 Pennsylvania Avenue", 2L));
public void onModuleLoad()
{
final CellTable<Contact> table = new CellTable<Contact>(10);
table.setWidth("60px", true);
ListDataProvider<Contact> listPrvdr;
final TextInputCell nameCell = new TextInputCell();
Column<Contact, String> nameColumn = new Column<Contact, String>(nameCell)
{
@Override
public String getValue(Contact object)
{
return object.name;
}
};
table.addColumn(nameColumn, "Name");
table.setColumnWidth(nameColumn, "60px");
nameColumn.setFieldUpdater(new FieldUpdater<Contact, String>()
{
public void update(int index, Contact object, String value)
{
object.name = value;
table.redraw();
}
});
listPrvdr = new ListDataProvider<Contact>();
listPrvdr.addDataDisplay(table);
RootPanel.get().add(table);
listPrvdr.getList().addAll(CONTACTS);
}
}
¿Qué me falta? ¿Cómo hago cumplir la restricción de ancho en el campo de entrada y no solo en la columna de host?
jaja ... eso es exactamente lo que terminé haciendo por mi solución (y quería evitar en primer lugar). Gracias por responder :) –