Skip to Content
avatar image
Former Member

Dynamically Generate columns for ui5 table at the click of the checkbox

HI Experts,

I am trying to dynamically generate columns once checked in checkbox.Columns are getting added however I am not able to display the label.It has the value undefined.And thus the column are getting generated with out any label. And same with text

var objTable= this.byId("uiTable");
   objTable.bindColumns("selectedModel>/columns/", function(sId, oContext) {
   debugger;
    var oColumnObj = oContext.getObject();
   var  label,text="";
    return new sap.ui.table.Column({
     label :  new sap.m.Label({text: oColumnObj.columKey}),
    });
});
undef.png (28.7 kB)
Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • avatar image
    Former Member
    Dec 29, 2017 at 02:40 AM

    Well you have a typo in your label assignment -

    oColumnObj doesn't have `columKey` it has `columnKey`

    Try

    returnnewsap.ui.table.Column({
         label :newsap.m.Label({text: oColumnObj.columnKey}),});
    Add comment
    10|10000 characters needed characters exceeded

  • Dec 25, 2017 at 07:07 PM

    Hi,

    Check this blog . It will sort it out for you.

    In addition, out of the SDK of class sap.ui.table.Column under aggregations - template(I bolded the interesting part):

    Template (cell renderer) of this column. A template is decoupled from the column. Each time the template's properties or aggregations have been changed, the template has to be applied again viasetTemplate for the changes to take effect. If a string is defined, a default text control will be created with its text property bound to the value of the string. The default template depends on the libraries loaded. If there is no template, the column will not be rendered in the table.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Dec 29, 2017 at 02:13 AM

    hi Dfive,

    it is clear that label will be undefined. It is not assigned with any value. Please check your code.

    is oColumnObj.columnKey correct?

    here is simple example to achieve what you have in mind

    http://jsbin.com/rexeyaf/1/edit?js,output

    Add comment
    10|10000 characters needed characters exceeded