0
我的第一篇文章,我必須承認,我不善於解釋的東西。讓我嘗試。圖表在應用程序腳本谷歌電子表格
我在電子表格中添加了一個UI,有一些附加到UI的複選框&。 單擊第一個(EDC)複選框時,範圍(C2)變爲true/false,更改數據中的圖表值。
由於圖表不自動更新,我決定刪除現有圖表並添加一個新圖表。當代碼第一次運行時... UI隨着填充圖表一起可見,當我單擊複選框時,現有圖表將獲取刪除,但populate_chart函數不會。誰能幫我???幾乎我的第一個代碼(如此大)。
function Show_chart() {
var ss = SpreadsheetApp.getActive();
var calc = ss.getSheetByName("Calculations");
var data = calc.getRange(6, 19, 22, 2)
// var values = data.getValues()
// for (var row in values) {
// for (var col in values[row]) {
// Logger.log(values[row][col]);
// }
// }
var app = UiApp.createApplication().setHeight(600).setWidth(1200).setTitle("Attrition Report");
var mygrid = app.createGrid(7, 2)
var label1 = mygrid.setWidget(0, 0, app.createLabel("EDC Project"));
var label2 = mygrid.setWidget(1, 0, app.createLabel("Customer Project"));
var label3 = mygrid.setWidget(2, 0, app.createLabel("Support"));
var checkbox1 = mygrid.setWidget(0, 1, app.createCheckBox().setName("EDC"));
var checkbox2 = mygrid.setWidget(1, 1, app.createCheckBox().setName("CP"));
var checkbox3 = mygrid.setWidget(2, 1, app.createCheckBox().setName("Support"));
checkbox1.addClickHandler(app.createServerHandler("myClickHandler"));
var panel = app.createVerticalPanel();
panel.add(mygrid);
app.add(panel);
populate_charts()
ss.show(app);
}
function populate_charts(){
var ss = SpreadsheetApp.getActive();
var app = UiApp.getActiveApplication();
var calc = ss.getSheetByName("Calculations");
var data = calc.getRange(6, 19, 22, 2);
//1200 300
var chart = Charts.newLineChart().setDimensions(300, 100)
.setDataTable(data)
.build();
var chartpanel = app.createHorizontalPanel().setId("tbd");
chartpanel.add(chart);
return app.add(chartpanel);
}
function myClickHandler(e) {
var ss = SpreadsheetApp.getActive();
var calc = ss.getSheetByName("Calculations");
var app = UiApp.getActiveApplication();
// var data = calc.getRange(6, 19, 22, 2)
var chvalue = e.parameter.EDC;
calc.getRange("C2").setValue(chvalue);
var del = app.getElementById("tbd");
return app.remove(del);
populate_charts()
}
謝謝...
非常感謝Taras ......這是非常特殊的......它以我想的方式工作......只是通過了解位... populate_charts(app,sSheet)中的一件事...... (app,sSheet)做了什麼,是否意味着從其他函數捕獲var?稍微有些困惑......並且爲了讓我的臉上帶着微笑而大感謝你...... – Vasim