Как получить данные из 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.х по крайней мере.
Надеюсь, это поможет.