我在电子表格上有一个数据库程序,其中的数据按行和列经典排序,我正在处理的是一个 UI,它允许用户搜索数据库并显示如下所示的结果。“表格”显示了结果和可滚动表格中的 15 个下一个项目,其中包含最重要的数据和底部的文本区域,该文本区域应包含所选项目的格式,我可以在保持布局的同时复制和粘贴到任何文档中(新行,间距...)。注意:脚本还应该检测表格中的哪一行具有焦点。此文本区域应提供 2(目前)所谓的“格式”,一个用于屏幕截图中显示的字母,第二个用于几行上的所有字段(逗号或制表符分隔)(我称之为“原始数据” '
我设法执行搜索、表格填充和 UI 设计,但是(这里终于是实际问题)我不确定如何在 textarea 中获取格式化文本...我应该使用 HTML 吗?
下面是我现在使用的屏幕截图和 UI 代码,我想这张图片让事情更清楚了,至少我希望 ;-)
function buildUi() {
var app = UiApp.createApplication().setTitle("BrowseList Test")
.setHeight(340).setWidth(800).setStyleAttribute("background-color","beige").setStyleAttribute('padding','20');
var scroll = app.createScrollPanel().setPixelSize(750,150)
var vpanel = app.createVerticalPanel();
var cell = new Array();
var cellWidth = [45,135,150,250,50,100]
var row = new Array();
for(vv=0;vv<15;++vv){
row[vv]=app.createHorizontalPanel();
vpanel.add(row[vv]);
for(hh=0;hh<cellWidth.length;++hh){
cell[hh+(vv)*cellWidth.length]=app.createTextBox().setWidth(cellWidth[hh]+"");
row[vv].add(cell[hh+(vv)*cellWidth.length])
}
}
app.add(scroll.add(vpanel))
// Initial populate
var data = ss.getDataRange().getValues();
for(vv=0;vv<15;++vv){
for(hh=0;hh<cellWidth.length;++hh){
var rowpos=vv+1+offset
var cellpos = hh+(vv)*cellWidth.length
cell[cellpos].setValue(data[rowpos][hh])
}
}
var grid = app.createGrid(2,9).setWidth('700')
grid.setWidget(1, 0, app.createLabel('search'));
grid.setWidget(1, 1, app.createTextBox().setName('search').setId('search'));
grid.setWidget(1, 2, app.createRadioButton('mode','strict'));
grid.setWidget(1, 3, app.createRadioButton('mode','global').setValue(true));
grid.setWidget(1, 5, app.createLabel(' ').setWidth('100'));
grid.setWidget(1, 6, app.createLabel('show mode'));
grid.setWidget(1, 7, app.createRadioButton('show','letter').setValue(true));
grid.setWidget(1, 8, app.createRadioButton('show','raw data'));
app.add(grid);
var result = app.createTextArea().setPixelSize(700,100)
app.add(result)
ss.show(app);
}