columns
grid

Hello Community,

 

Is possible to extend numer of column on grid view ?

Eg. To display more than 24 coulmns on ProductSectionV2.  It could be development solution or any hint.

 

Regards,

Marcin Kott

Like 0

Like

3 comments

Dear Marcin,

 

As for now, there is no workaround to increase the number of columns in grid view. I recommend using the tile view. For this view, it`s possible to more flexibly adjust the number of displayed columns and their size.

 

Best regards,

Angela

Hi Angela,

 

Angela Reyes writes:

Dear Marcin,

As for now, there is no workaround to increase the number of columns in grid view. I recommend using the tile view. For this view, it`s possible to more flexibly adjust the number of displayed columns and their size.

Best regards,

Angela

MoreLess

1 page only 2 records (if you have more than 50 fields, 1 record in 1 page)

 

24 fields list view, cannot see any things - cannot remove field after add 24 fields in settings

Hope that Creatio improve horizon scroll for list view, and user can adjust wide column without open list setup page.

 

Regards,

Akira Nguyen

Hi,

 

Yes, You have a right but for this i have solution (even two or both of):

- in case of horizontal scrolling have a look how to achive this on grid

https://community.creatio.com/ideas/horizontal-view-section-and-detail

- in case of expand visibility of grid You may use add'on

https://marketplace.creatio.com/app/expandable-details-creatio

 

So only what i'm looking for is the possibility to increase list view column limitation.

 

Regards,

Marcin

Show all comments
Localizing
grid
Buttons
7.12

Im trying to localize a Button on a grid but it is not working out. Ive tried the following:



{

                    "operation": "insert",

                    "name": "DataGridActiveRowSomeButton",

                    "parentName": "DataGrid",

                    "propertyName": "activeRowActions",

                    "values": {

                        "className": "Terrasoft.Button",

                        "style": Terrasoft.controls.ButtonEnums.style.GREEN,

                        "tag": "someButton",

                        "caption": {"bindTo":"Resources.Strings.DetailsCaption"},

                    }

                },



Notes:

-The DetailsCaption is added in the localizable strings

-The logic works on any other button which is not within the Grid

-When binding the button it is not appearing but when setting caption to "caption":"Details" it is appearing

-Im working on version 12

Like 0

Like

2 comments
Best reply

Hello Mohammad, 

 

Please, try to set up the title for the button by using the code:

"caption": resources.localizableStrings.DetailsCaption

 

Let us know in case any additional information is required. 

 

Best regards,

Olga. 

Hello Mohammad, 

 

Please, try to set up the title for the button by using the code:

"caption": resources.localizableStrings.DetailsCaption

 

Let us know in case any additional information is required. 

 

Best regards,

Olga. 

Olga Avis,

Thank you so much. It worked perfectly

Show all comments

Hi Community,

 

In client code, How i can retrieve the html div id of each row of grid section data?

Like 0

Like

3 comments

Hello Fulgen,

 

This is an out-of-the box logic of our application so that IDs of elements on the page are generated randomly when refreshing the page. Currently there is no way to modify this logic since it is set in core application schemas and binary files of the application. We already have a problem registered to our R&D team so they could add some extra logic that allows static IDs of elements on the page (since request like that was asked to integrate Creatio application with PRA tools like UiPath).

 

The only possible way to achieve your task is to use data-item-marker since values there are static and doesn't modify after each refresh of the page. For example data-item-marker for global search window is "command-line".

 

Best regards,

Oscar

Oscar Dylan,



Thanks Oscar,



I just noticed like in Product Section data item marker is the product name, if there are duplicate product name data item marker will not be unique. Is there a way I can modify the data-item-marker of each row, i will give the guid of the record instead of the name? Please give me example how to do it. Thank you so much

Hello,

 

It is not possible to modify "data-item-marker" of the edit page (it is being generated) and we don't have a particular example of such an implementation. 

 

Best regards,

Oscar

Show all comments
grid
7.14_()
sales

Is there a good way to get the column headers to remain visible while scrolling through the grid (e.g. on section pages)?  I've tried CSS position:sticky, but it doesn't appear to have any effect with the way the grid is constructed.

Like 0

Like

1 comments

Unfortunately, there is no good way to create sticky header while scrolling through the grid. After freezing header row in the grid all other blocks on the page need to be adjusted in order the page is displayed properly.

Show all comments
studio
7.12
grid
detail

I have a detail in a page , when I open the page  , it loads then the grid will load after couple of seconds , what I want is to show a loader in the page and hide it when the grid is rendered.

How to know when the grid is rendered (finished loading), also in the case that I have more than 1 detail, how to check if all details are loaded and finished

Like 0

Like

1 comments

It's a very strange idea to stop using multithreading - one of the most powerful JS features. Please make sure that you need this. 

Anyway, details are loading asynchronously and they don't have an "onDetailLoaded" event. One of the latest loading methods will be "onGridDataLoaded" in the BaseGridDetail. Please feel free to use it as an indicator of the fact that a detail was loaded. 

In order to indicate a complete loading of all details please use threading control on a page. Please find more information about threads in the article by the link below.

https://stackoverflow.com/questions/30036/javascript-and-threads

Show all comments
detail
grid
order
7.13_()
sales

How would I go about setting the default behaviour for the + button on an editable grid to add a row instead of opening the card?

Specifically, this is the Order page, with the OrderProduct detail.  The + button here

brings up this full page card:

I would like it to default instead to the blank row you get from ... -> New:

I have tried explicitly setting IsEditable to true when initializing the detail, but it doesn't seem to make a difference.  Where might I be able to change this?

Thank you.

Like 0

Like

6 comments

Hello Darian,



Actually, here is an article that describes how to achieve it:

https://academy.bpmonline.com/documents/technic-sdk/7-13/adding-detail-…



Also I have tested it on my local instance, here is an example how to do it with OpportunityProductDetailV2.



1. Create replacing client module for it

2. Put the code from below and save the schema.

 

define("OpportunityProductDetailV2", ["ConfigurationGrid", "ConfigurationGridGenerator",
    "ConfigurationGridUtilities"], function() {
    return {
        entitySchemaName: "OpportunityProductInterest",
        attributes: {
            
            "IsEditable": {
       
                dataValueType: Terrasoft.DataValueType.BOOLEAN,
               
                type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
                value: true
            }
        },
        mixins: {
            ConfigurationGridUtilities: "Terrasoft.ConfigurationGridUtilities"
        },
        diff: /**SCHEMA_DIFF*/[
            {
                "operation": "merge",
                "name": "DataGrid",
                "values": {
                    "className": "Terrasoft.ConfigurationGrid",
                    "generator": "ConfigurationGridGenerator.generatePartial",

                    "generateControlsConfig": {"bindTo": "generateActiveRowControlsConfig"},
                    "changeRow": {"bindTo": "changeRow"},
                    "unSelectRow": {"bindTo": "unSelectRow"},
                    "onGridClick": {"bindTo": "onGridClick"},
                    "activeRowActions": [
                        {
                            "className": "Terrasoft.Button",
                            "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                            "tag": "save",
                            "markerValue": "save",
                            "imageConfig": {"bindTo": "Resources.Images.SaveIcon"}
                        },
                        {
                            "className": "Terrasoft.Button",
                            "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                            "tag": "cancel",
                            "markerValue": "cancel",
                            "imageConfig": {"bindTo": "Resources.Images.CancelIcon"}
                        },
                        {
                            "className": "Terrasoft.Button",
                            "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                            "tag": "remove",
                            "markerValue": "remove",
                            "imageConfig": {"bindTo": "Resources.Images.RemoveIcon"}
                        }
                    ],
                    "initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"},
                    "activeRowAction": {"bindTo": "onActiveRowAction"},
                    "multiSelect": {"bindTo": "MultiSelect"}
                }
            }
        ]/**SCHEMA_DIFF*/
    };
});

 

Alex_Tim,

I have done that, but it doesn't make a difference.  It does function as expected with OpportunityProductInterest, but OrderProduct still requires using ...->New to get a new line.

REf:

define("OrderProductDetailV2", ["ConfigurationGrid", "ConfigurationGridGenerator",
	"ConfigurationGridUtilities"], function() {
	return {
		entitySchemaName: "OrderProduct",
		attributes: {
			"IsEditable": {
				dataValueType: Terrasoft.DataValueType.BOOLEAN,
				type: Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
				value: true
			}
		},
		mixins: {
			ConfigurationGridUtilities: "Terrasoft.ConfigurationGridUtilities"
		},
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "merge",
				"name": "DataGrid",
				"values": {
					"className": "Terrasoft.ConfigurationGrid",
					"generator": "ConfigurationGridGenerator.generatePartial",
					"generateControlsConfig": {"bindTo": "generateActiveRowControlsConfig"},
					"changeRow": {"bindTo": "changeRow"},
					"unSelectRow": {"bindTo": "unSelectRow"},
					"onGridClick": {"bindTo": "onGridClick"},
					"activeRowActions": [
						// [Save] action setup.
						{
							"className": "Terrasoft.Button",
							"style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
							"tag": "save",
							"markerValue": "save",
							"imageConfig": {"bindTo": "Resources.Images.SaveIcon"}
						},
						// [Cancel] action setup.
						{
							"className": "Terrasoft.Button",
							"style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
							"tag": "cancel",
							"markerValue": "cancel",
							"imageConfig": {"bindTo": "Resources.Images.CancelIcon"}
						},
						// [Delete] action setup.
						{
							"className": "Terrasoft.Button",
							"style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
							"tag": "remove",
							"markerValue": "remove",
							"imageConfig": {"bindTo": "Resources.Images.RemoveIcon"}
						}
					],
					"initActiveRowKeyMap": {"bindTo": "initActiveRowKeyMap"},
					"activeRowAction": {"bindTo": "onActiveRowAction"},
					"multiSelect": false
				}
			}
		]/**SCHEMA_DIFF*/,
		methods: {}
	};
});

 

Darian Lewis,

Basically, I tried to apply the code that you sent and it works in a required way if you are trying to add the product via "new" button

http://prntscr.com/mprbvm



To make "plus" button behave as "new" button you should override the logic of the plus button.



Best regards,

Alex

Alex_Tim writes:

To make "plus" button behave as "new" button you should override the logic of the plus button.

Yes, that's what I'm asking for help with - I can't find where to override the plus button.

Darian Lewis,

The logic of "plus" button lays in "BaseGridDetailV2 module. This button is binded to "addRecord" method.

The logic of "new" button lays in "ConfigurationGridUtilities" module. This button is binded to "addRow" method.



So the solution is to override "plus" button and bind it to "addRow" method.



To achieve it, new replacing client module for "OrderProductDetailV2"  should be created and

the code from below should be inserted into the module.



define("OrderProductDetailV2", ["ConfigurationGridUtilities"], function() {

    return {

        entitySchemaName: "OrderProduct",

        messages: {},

        attributes: {},

        methods: {},

        diff: /**SCHEMA_DIFF*/[

            {

                "operation": "merge",

                "name": "AddRecordButton",

                "values": {

                    "click":{"bindTo":"addRow"}

                }

            }

        ]/**SCHEMA_DIFF*/

    };

});

 

Alex_Tim,

Thank you, that did the trick.

Show all comments
7.11
grid
Custom Details
studio

I tried to add 2 buttons inside each row in the detail grid , but it didn't work , can anyone help me with sample code please

Like 0

Like

9 comments

Dear mohamad,

Where exactly do you want to add buttons and what have you already done?

 

Peter Vdovukhin,

Inside the row of the detail grid when , onActiveRowAction when row is active I want to show 2 buttons 

.

Where exactly do you want to add buttons?

I told you inside the row(record) of the detail grid

Like in the picture there is one button , I want to add 2 buttons along with each other

Dear mohamad,

Here is a similar question. Just follow an existing example in the configuration. 

        diff: /**SCHEMA_DIFF*/[
            {
                "operation": "insert",
                "name": "ButtonCopy",
                "parentName": "Detail",
                "propertyName": "tools",
                "values": {
                    "itemType": Terrasoft.ViewItemType.BUTTON,
                    "click": {"bindTo": "onButton1Click"},
                    "visible": true,
                    "enabled": true,
                    "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                    "caption": "Button1"
                }
            },
            {
                "operation": "insert",
                "name": "ButtonMark",
                "parentName": "Detail",
                "propertyName": "tools",
                "values": {
                    "itemType": Terrasoft.ViewItemType.BUTTON,
                    "click": {"bindTo": "onButton2Click"},
                    "visible": true,
                    "enabled": true,
                    "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
                    "caption": "Button2"
                }
            }

 

Show all comments
grid
ColumnLink
7.11
studio

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
grid
minipage

Hello community!

I need create a new minipage when need populate only a grid with data related of the parent object.

Any idea about?

 

Regrards, 

 

Like 0

Like

1 comments

Dear Federico,

If I understand you correctly, you're talking about displaying a detail on a mini page. A mini page has no functionality that operates details functionality. However, you can investigate the "BasePageV2", find all of the methods and styles that work with details and transfer them to a mini page. Then add a detail to the mini page manually and create custom styles that will display a detail on a small detail field properly.

Show all comments