Как получить данные из Grid в Smartclient?

Как получить базовые данные из строки, щелкнув по сетке?

Мой код выглядит так:

isc.ListGrid.create({
    ID: "countryList",
    width:1500, height:224, alternateRecordStyles:true,
    data: sampleData,
    fields:[
        {name:"id", title:"Id"},
        {name:"name", title:"Name"},
        {name:"version", title:"Version"},
        {name:"release", title:"Release"},
    ],

    canReorderFields: true,
    click: function (x) {
        alert('hi there' + x)
    }
})

Если я добавлю функцию щелчка, появится предупреждение.

Если ввести параметр x, и это, кажется, имеет какое-то значение, но я не могу расшифровать его. Что мне действительно нужно, так это базовые данные JSON (см. Ниже), которые передаются как sampleData.

{
id:"10621",
name:"PimsPacket020",
version:"0.1",
release:"undefined",},
{
id:"10621",
name:"PimsPacket020",
version:"0.1",
release:"undefined",
}

3 ответа

Если ваш список содержит chexbox (selectionAppearance: "checkbox") вы должны использовать this.getSelection() которые содержат все выбранные элементы. или вы делаете функцию с параметром записи:

click: function (record) {
  isc.say ("ID:" + record.id + "Name:" + record.Name); 
}

Используйте эту функцию, чтобы получить вашу запись

recordClick: function (viewer, record, recordNum, field, fieldNum, value, rawValue) {
alert('hi there' + record.name);
}

Для получения дополнительной информации, пожалуйста, обратитесь к документации smartclient http://www.smartclient.com/docs/8.2/a/b/c/go.html

Я не использовал Smartclient в течение достаточно долгого времени, но, я думаю, лучшим событием выбора для строки сетки будет:

selectionChanged: "someFunction(this.getSelection())"

Функция this.getSelection() будет возвращать массив записей даже для одного выбора.

Для получения дополнительной информации я предлагаю использовать электронную документацию Smartclient ( Smartclient 9.1 Documentation) и проводник функций ( Smartclient Feature Explorer) вместе. Этот код работает на более ранних версиях; от 8.х по крайней мере.

Надеюсь, это поможет.

Другие вопросы по тегам