Show cool things you have done with our products


Post by KAB »

Hi Everyone

Is it possible to create the following grid with bryntum tools:
If yes, are there any examples available?

Thank you!
Attachments
selection_305.png
selection_305.png (183.45 KiB) Viewed 6916 times

Post by mats »

Absolutely, that would be very easy! It's just a grid with a number of columns and an editable row. Have you tried our demos and downloaded our trial?

Also study our docs to learn how to enable editing and use other grid features: https://bryntum.com/docs/grid

Post by KAB »

Hi mats. Thanks for your reply. I have not found an an example of a grid with dynamic columns. Is that possible?
Because I have a start and end date and I want to create a column for every day between those dates. The dates can also be changed and the widget should refresh itself and update it's columns.

Post by pmiklashevich »

grid.columns is a store. So adding new records or changing existing data will reflect to the grid immediately.

https://bryntum.com/examples/grid/manycolumns/ demo shows how to generate columns dynamically.

https://bryntum.com/examples/grid/columns/ demo shows how to add/remove columns dynamically.

https://www.bryntum.com/examples/grid/multiregion/ demo shows how to configure different subgrids.

https://www.bryntum.com/examples/grid/summary/
https://www.bryntum.com/examples/grid/multisummary/
demos show how to calculate summary

So in your case it's left to implement column generation based on the time range. We don't have ready-to-use solution., so you'll have to implement it by yourself. Please check out the demos I've mentioned above and all the other demos we have for inspiration.

If you get stuck with something feel free to ask on the forums (one thread per question, see how to ask for help here). If you need complex help in implementation, we provide Professional Services. If you're interested please contact us here: https://www.bryntum.com/contact/

Best,
Pavel

Pavlo Miklashevych
Sr. Frontend Developer


Post by pmiklashevich »

Just to help you to get started here is how you can generate your columns:
const generateDateColumns = (start, end) => {
    let columns = [],
        dt      = DateHelper.clone(start);

    if (dt.getTime() >= end.getTime()) return columns;

    while (dt.getTime() < end.getTime()) {
        columns.push({
            field  : DateHelper.format(dt, 'YYYY-MM-DD'), // need to match data field
            text   : DateHelper.format(dt, 'dd DD'),
            flex   : 1,
            region : 'normal'
        });

        dt = DateHelper.add(dt, increment, unit);
    }

    return columns;
};
Please replace examples/manycolumns/app.js with the one from archive and try how it works:
app.js.zip
(1003 Bytes) Downloaded 309 times

Pavlo Miklashevych
Sr. Frontend Developer


Post Reply