Я новичок в скрипте google. У меня есть источник данных, который мне нужно отображать в таблице и позволять пользователю выбирать строку и выбирать открытую кнопку. обработчик события кнопки открытия должен иметь возможность узнать номер строки, чтобы я мог отправить запрос с выбранным именем пользователя.выберите строку из скрытого в скрипте Google
Я думал о добавлении флажка и события click, просто прочитайте имя флажка с номером строки.
Пожалуйста, дайте мне знать, как это сделать. спасибо
var panel = app.createVerticalPanel();
var scroll = app.createScrollPanel().setPixelSize(500, 300);
scroll.add(panel);
var flexTable = app.createFlexTable().setStyleAttribute('border', '1px solid black')
.setStyleAttribute('borderCollapse','collapse')
.setBorderWidth(1);
flexTable.setText(0, 1, 'Application Name')
flexTable.setRowStyleAttribute(0,'color', 'blue')
flexTable.setText(0, 2, 'Owner')
flexTable.setText(0, 3, 'Date')
var handler = app.createServerClickHandler('clickTable');
var counter = 1;
for (var i in queryResult.records) {
var chkBox = app.createCheckBox().setName('chk' + counter).setId('chk');
var owner = queryResult.records[i]["Owner"]["Name"];
var AppName = queryResult.records[i]["Name"];
var ModifiedDate = queryResult.records[i]["LastModifiedDate"]
var UniqId = queryResult.records[i]["Apttus_XApps__UniqueId__c"]
flexTable.setWidget(counter, 0 , chkBox)
flexTable.setText(counter, 1, AppName.toString());
flexTable.setText(counter, 2, owner.toString());
flexTable.setText(counter, 3, ModifiedDate.toString());
counter ++;
}
panel.add(app.createButton('Open', handler));
panel.add(flexTable);
app.add(scroll);
ваш код кажется правильным ... в чем проблема? –
Единственная особенность, которую я бы лично добавил, - это не нажимать кнопку до тех пор, пока не будет выбран флажок ... или, если только один из них можно выбрать, используйте radioButtons, потому что это «эксклюзивные». Как вы думаете? –
Серж это правильно, вам нужно использовать элементы управления RadioButton, чтобы пользователь мог выбирать только одну запись за раз. Кроме того, вам нужно применить тот же счетчик к идентификатору элемента управления - и лично я бы разделил имя/идентификатор, используя знак подчеркивания, чтобы вы могли легко разбить индекс из класса в вашем обработчике: var chkBox = app.createCheckBox () .setName ('chk_' + counter) .setId ('chk_' + counter) Обратите внимание, что у RadioButton есть другое соглашение об именах для сгруппированных элементов управления, поэтому проверьте документацию – Tim