Is it possible to display columns in a datagrid without making them clickable links?

Like 0

Like

6 comments

Instead of adding the lookup column to the grid layout, expand that to get the display value to add to the grid instead. For example, instead of adding "Account", click the plus button then select Account, the choose the Name column to add to the grid, then it won't be clickable.

Ryan

Ryan Farley, thank you for your answer.

 

In the grid, the button + must be active to allow users to add necessary columns. Therefore, I need to display the main account on the grid without a link.

Hi!

 

You can make this detail editable. In this mode, all columns in the detail won't be clickable.

More details about editable details here:

https://academy.creatio.com/docs/8.x/no-code-customization/8.0/customization-tools/ui-and-business-logic-customization/page-layout/create-new-detail

 

Best regards,

Kate

Kate Karpik,

Hi Kate Karpik,

I need to do this in Freedom UI. Are there any features in Freedom UI for datatables similar to the showValueAsLink feature available for fields on a page?

Ryan Farley,

 

Thanks Ryan, and in case the column isn't a lookup, I mean the default Name column always was clickable, but I need in some cases not be clickable, is it possible (Freedom UI)

 

Thank in advance

Julio

 

Lia,


I'm curious as to have did you approach this? I have plans on doing something like this as well.

Show all comments

Could somebody tell my why i can't add link to ms report? I don't see link or url to add to my report. I  add also link wihout green arrow (which i don't knwo what it is) and still i can't add this to my report

Like 0

Like

1 comments

Hello!

Please try to implement the settings shown in the screenshot:

Show all comments

Hi Community,

 

How can I override the dashboard list Name link, OOB functionality is opening its  corresponding record but instead of this I want to put some logic and  open other page. Where can I override this exact function? Any idea?

 

Like 0

Like

1 comments

Dear Fulgen, 

 

Please see the article below on how to change the logic on the link click: 

https://community.creatio.com/questions/show-captions-instead-absolute-url-links

 

 Here is the way how you can override the dashboard: 

1) Create your custom module that would extend Terrasoft.DashboardListedGridViewModel

Here is an example: 

define("UsrDashboardListedGridViewModel", ["ControlGridModule"], function() {

    Ext.define("Terrasoft.UsrDashboardListedGridViewModel", {

        extend: "Terrasoft.DashboardListedGridViewModel",

        

        getGridDataColumns: function() {

            var gridDataColumns = this.callParent(arguments);

            gridDataColumns.QualifyStatus = gridDataColumns.QualifyStatus || {path: "QualifyStatus"};

            gridDataColumns.QualificationProcessId =

                    gridDataColumns.QualificationProcessId || {path: "QualificationProcessId"};

            gridDataColumns["QualifyStatus.StageNumber"] =

                    gridDataColumns["QualifyStatus.StageNumber"] || {path: "QualifyStatus.StageNumber"};

            return gridDataColumns;

        },

        getQualifyStatus:function(id) {

            var activeRow;

            if (id) {

                var gridData = this.getGridData();

                activeRow = gridData.get(id);

            } else {

                activeRow = this.getActiveRow();

            }

            if (!activeRow) {

                return null;

            }

            var qualifyStatus = activeRow.get("QualifyStatus");

            return (qualifyStatus) ? qualifyStatus.value : null;

        },

        addColumnLink: function(item) {

            item.getQualifyStatusValue = function(qualifyStatus) {

                if (!qualifyStatus) {

                    return null;

                } else {

                    return {

                        value: qualifyStatus && qualifyStatus.StageNumber || this.get("QualifyStatus.StageNumber"),

                        displayValue: qualifyStatus.displayValue

                    };

                }

            };

            return this.callParent(arguments);

        },

        applyControlConfig: function(control) {

            control.config = {

                className: "Terrasoft.BaseProgressBar",

                value: {

                    "bindTo": "QualifyStatus",

                    "bindConfig": {"converter": "getQualifyStatusValue"}

                },

                width: "158px"

            };

        }

    });

    return {};

});

2) Create your custom module that would extend Terrasoft.DashboardListedGridViewConfig

Example: 

define("UsrDashboardListedGridViewConfig", ["UsrControlGridModule"], function() {

    Ext.define("Terrasoft.UsrDashboardListedGridViewConfig", {

        extend: "Terrasoft.DashboardListedGridViewConfig",

        generate: function() {

            var config = this.callParent(arguments);

            config.items[1].className = "Terrasoft.UsrControlGrid";

            config.items[1].controlColumnName = "QualifyStatus";

            config.items[1].applyControlConfig = { bindTo: "applyControlConfig" };

            return config;

        }

        

    });

    return {};

});

3) Create you custom module to override Terrasoft.DashboardGridModule: 

define("UsrDashboardGridModule", ["UsrDashboardListedGridViewModel", "UsrDashboardListedGridViewConfig"], function() {

    Ext.define("Terrasoft.configuration.UsrDashboardGridModule", {

        alternateClassName: "Terrasoft.UsrDashboardGridModule",

        override: "Terrasoft.DashboardGridModule",

        viewModelClassName: "Terrasoft.UsrDashboardListedGridViewModel",

        viewConfigClassName: "Terrasoft.UsrDashboardListedGridViewConfig"

    });

});

4) Create your DashboardGridModuleWrapper, which enables UsrDashboardGridModule : 

define("UsrDashboardGridModuleWrapper", ["BaseModule"], function() {

    Ext.define("Terrasoft.configuration.UsrDashboardGridModuleWrapper", {

        extend: "Terrasoft.BaseModule",

        alternateClassName: "Terrasoft.UsrDashboardGridModuleWrapper",

        constructor: function() {

            var parentMethod = this.getParentMethod(this, arguments);

            Terrasoft.require(["DashboardGridModule"], function() {

                Terrasoft.require(["UsrDashboardGridModule"], parentMethod, this);

            }, this);

        }

    });

    return Ext.create("Terrasoft.UsrDashboardGridModuleWrapper");

});

5) Override BootstrapModulesV2 and add DashboardGridModuleWrapper to the dependencies: 

define("BootstrapModulesV2", ["UsrDashboardGridModuleWrapper"], function() {

    return {};

});

 

Show all comments

I have a detail referencing the Contacts section, that is an editable list detail:

Am I able to make the Contact lookup appear as a link on this view? That is, as link to the linked Contact record.

 

The list view preview shows the Contact as a link:

But not when I view the detail on the linked section??

Like 0

Like

2 comments

Dear Lauren,

You can try to transform the lookup field into hyperlink by referring to this article https://community.bpmonline.com/articles/how-make-url-string-field-clickable-hyperlink

Best regards,

Dean

Hi Dean,

The link needs to be the connected lookup record ... How would I reference this as a link?

Show all comments

Hello everyone!

How are you? I hope you can help me!

I want to add a column with a link, to set URL of that link I need to get the value of another column hidden in the grid, How could I do this? I do not want to show the column because it takes up a lot of space. I overwrote the method addColumnLink but the line "this.get("someColumn") does not work if the column is hidden. In this case, the column hidden is "UsrRutaArchivo"

I attached images

Thanks in advance!

King regards!

Ezequiel Gomez!

Like 0

Like

1 comments

Dear Ezequirel,

You can call initQueryColumns function in your section schema, so to load all columns. In the function, call addAllColumns you have overridden. In this case, you will be able to access not displayed column in the grid by "this.get("Column"); Please see the example below:

initQueryColumns: function(esq) {
     this.callParent(arguments);
     this.addAllColumns(esq);
},

Hope you find it helpful.

Regards,

Anastasia

Show all comments