Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    DataGrid shows all datasource fields

    Hy all.
    The problem is with the ListGrid widget. I’m using it inside a Tab. The grid uses a DataSource. When the grid is added directly to the tab it shows only the columns that I added to the grid, but when it is inserted in a Vstack, it shows all the records defined in the datasource. Here is the code

    ListGrid myGrid = new ListGrid();

    ListGridField field1 = new ListGridField(“field1”, "field1");
    ListGridField field2 = new ListGridField(“field2”, "field2");
    ListGridField field3 = new ListGridField(“field3”, "field3");

    gridPerfiles.setShowFilterEditor(true);
    gridPerfiles.setFilterOnKeypress(true);
    gridPerfiles.setAutoFetchData(true);
    gridPerfiles.setUseAllDataSourceFields(false);

    gridPerfiles.setFields(field1, field2, field3);

    //Data Source code

    DataSourceTextField field1 = new DataSourceTextField(“field1”, "field1");
    DataSourceTextField field2 = new DataSourceTextField(“field2”, "field2");
    DataSourceTextField field3 = new DataSourceTextField(“field3”, "field3");
    DataSourceTextField field4 = new DataSourceTextField(“field4”, "field4");
    DataSourceTextField field5 = new DataSourceTextField(“field5”, "field5");

    setFields(field1, field2, field3, field4, field5);


    // ListGrid binding, with this piece of code it shows all dataSource fields

    public Widget loadGrid()
    {
    VStack panel = new VStack(10);
    panel.addMember(button1);
    panel.addMember(myGrid);
    panel.addMember(button2);

    return panel;
    }

    // ListGrid binding, with this piece of code it shows only the files added to the grid (field1, field2, field3)

    public Widget loadGrid()
    {
    return myGrid;
    }




    VLayout panel = new VLayout();
    Widget w = loadGrid();
    panel.addMember(w);


    Is that a bug ? Am I doing something wrong?

    Thank you.

    #2
    I've noticed that if you do grid.setFields() before grid.setDataSource() the fields get lost and it uses all datasource fields. Just set the datasource first, then set the fields.

    Comment

    Working...
    X