Технические вопросы
7.x

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 комментария

А в описании грида есть такой пункт?
[javascript]
"operation": "insert",
"name": "DataGrid",
...
"values": {
...
"primaryColumnName": "Id"
...
}
[/javascript]

Дякую
у мене чомусь стояв "Name"
В мене є такий описаний грід, я хочу зробити його у варіанті tiled
[javascript]
{
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'
}
]
}
]
}
[/javascript]

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

я так понимаю надо прописать tiledConfig. Что-то наподобие:
[javascript]
"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"
}]
}
[/javascript]
Не уверен однако насчёт colspan. Вроде где-то слышал, что обязательно должно быть 24 заполненные яйчейки

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

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