Terrasoft.Grid не працює клік на запис

Доброго дня
В мене винникла проблема в роботі з Terrasoft.Grid
Я створив свій окремий модуль, в ньому описав сві грід.
Заповнюю його так

function loadGridData(scope) {
            var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
                rootSchemaName: "Product"
            });
            esq.addColumn("Id");
            esq.addColumn("Name");
            esq.addColumn("UsrFloor");
            esq.getEntityCollection(function(response) {
                var newCollection = Ext.create("Terrasoft.Collection");
                var data = response.collection.collection.items;
                Terrasoft.each(data, function (item, key) {
                    var model = Ext.create("Terrasoft.BaseViewModel", {
                        rowConfig: {
                            Id: {
                                columnPath: "Id",
                                dataValueType: Terrasoft.DataValueType.GUID
                            },
                            Name: {
                                columnPath: "Name",
                                dataValueType: Terrasoft.DataValueType.TEXT
                            },
                            UsrFloor: {
                                columnPath: "UsrFloor",
                                dataValueType: Terrasoft.DataValueType.INTEGER
                            }
                        },
                        values: {
                            Id: item.values.Id,
                            Name: item.values.Name,
                            UsrFloor: item.values.UsrFloor
                        }
                    });
                    newCollection.add(item.values.Id, item);
                }, this);
var gridData = scope.get("gridData");
                gridData.loadAll(newCollection);

При кліку на запис у мене пише що елемент з ключом не знайдений(img1.png)

Нравится

3 комментария

А в описании грида есть такой пункт?

"operation": "insert",
"name": "DataGrid",
...
"values": {
        ...
	"primaryColumnName": "Id"
        ...
}

Дякую
у мене чомусь стояв "Name"
В мене є такий описаний грід, я хочу зробити його у варіанті tiled

{
                        className: 'Terrasoft.Container',
                        id: 'gridArea',
                        selectors: {
                            wrapEl: '#gridArea'
                        },
                        classes: {
                            wrapClassName: ['container-spacing']
                        },
                        items: [
                            {
                                className: 'Terrasoft.Grid',
                                type: 'tiled',
                                primaryColumnName: 'Id',
                                activeRow: {
                                    bindTo: 'activeRowId'
                                },
                                captionsConfig: [
                                    {
                                        cols: 2,
                                        name: 'Етаж'
                                    },
                                    {
                                        cols: 12,
                                        name: 'Название'
                                    }
                                ],
                                columnsConfig: [
                                    [
                                        {
                                            row: 0,
                                            cols: 2,
                                            key: [
                                                {
                                                    name: {
                                                        bindTo: 'UsrFloor'
                                                    },
                                                    type: 'title'
                                                }
                                            ]
                                        },
                                        {
                                            row: 1,
                                            cols: 12,
                                            key: [
                                                {
                                                    name: {
                                                        bindTo: 'Name'
                                                    },
                                                    type: 'title'
                                                }
                                            ]
                                        }
                                    ]
                                ],
                                isEmpty: {
                                    bindTo: 'gridEmpty'
                                },
                                collection: {
                                    bindTo: 'gridData'
                                },
                                activeRowAction: {
                                    bindTo: 'onActiveRowSelect'
                                },
                                activeRowActions: [
                                    {
                                        className: 'Terrasoft.Button',
                                        style: Terrasoft.controls.ButtonEnums.style.BLUE,
                                        caption: 'Отркыть',
                                        tag: 'View'
                                    },
                                    {
                                        className: 'Terrasoft.Button',
                                        style: Terrasoft.controls.ButtonEnums.style.BLUE,
                                        caption: '5',
                                        tag: 'Edit'
                                    },
                                    {
                                        className: 'Terrasoft.Button',
                                        style: Terrasoft.controls.ButtonEnums.style.GREY,
                                        caption: '6',
                                        tag: 'Delete'
                                    }
                                ]
                            }
                        ]
                    }

Але в мене підписи колонок так і не проставляються, самі значення(img2)

я так понимаю надо прописать tiledConfig. Что-то наподобие:

"tiledConfig": {
	"name": "DataGridTiledConfig",
	"grid": {
		"columns": 24,
		"rows": 1
	},
	"items": [
		{
			"name": "UsrFloorGridColumn",
			"bindTo": "UsrFloor",
			"caption": "Этаж",
			"captionConfig": { "visible": true },
			"position": {
				"row": 1,
				"column": 1,
				"colSpan": 12
			},
			"type": "text"
		},
		{
			"name": "NameGridColumn",
			"bindTo": "Name",
			"caption": "Название",
			"captionConfig": { "visible": true },
			"position": {
				"row": 1,
				"column": 12,
				"colSpan": 12
			},
			"type": "title"
		}]
	}

Не уверен однако насчёт colspan. Вроде где-то слышал, что обязательно должно быть 24 заполненные яйчейки

upd. немного подправил конфиг на основе того, что возвращает GridSettingsChanged при конфигурации грида пользователем

Показать все комментарии