Columns in Grid get too wide

I have a grid with a column, that is possibly very long (1000 chars or more).
Grid
allows you to either set a fixed width, or set an expand ratio. However, the expand ratio is only applied after the width is determined from the content of the first page, which makes it far too wide. If I set the width, it does not expand at all. Even calling
setMaximumWidth
does not help at least to prevent it from being three times wider than the grid itself.

I have few small columns and this one. I want to see as much as possible from it, but not scroll. This was not a problem with
Table
, because it applied expand ratios before determing width from the content.

Is there any way to set the column to expand up to the width of the grid, regardless of the conent?

@Override
protected void init(VaadinRequest request) {
    IndexedContainer cont = new IndexedContainer();
    cont.addContainerProperty("col", String.class, null);
    String veryLongText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut "
            + "labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip "
            + "ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat "
            + "nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id "
            + "est laborum";
    for (int i=0; i<10; i++)
        cont.addItem(i).getItemProperty("col").setValue(veryLongText);
    
    Grid grid = new Grid();
    grid.setContainerDataSource(cont);
    grid.setWidth("100%");
    
//  grid.getColumn("col").setWidth(500);
    grid.getColumn("col").setExpandRatio(1);
//  grid.getColumn("col").setMaximumWidth(500);
    
    setContent(grid);
}

There are couple of alternative ways to handle this kind of scenario.

If there is a cell with long text, the simplest way is to set fixed width to the column. Then ofcourse text is shown only partially.

You can use details generator to show the long text. I.e. do the above or hide column totally. Then add details generator with label, there is ample space then to show very long texts. This is mater - detail pattern that fits for details generator use very well.

Third alternative is to add HTML-line breaks to the text and add HTML renderer to that column. In addition to this you need to modify row heigth with styling so that multiple lines of text fits in the row. In some applications this will look ugly, but may be good solution, if there is not much columns and/or rows there with short texts.