我试图从我的驱动器开发下载文件列表,然后解析了这些信息。现在,我正在使用UiApp进行显示和搜索。
我有一些使用.StringFilter
的搜索框,但找不到文字中第一个的单词并不起作用。
我希望有一个搜索框,遍历表格中的每个文字,并过滤所有匹配的信息。
我得到了一个答案,但另一个问题。
我的代码如下,这是app:
function getBaulFile(){
var d = DocsList.getFolderById('FolderId').getFiles();
var listaArchivos = DocsList.getFolderById('FolderId').getFilesByType('spreadsheet');
for (var i = 0 ; i < d.length ; i++){
if(d[i].getName() == "baul"){
var archivoId = d[i].getId();
}
}
return(SpreadsheetApp.openById(archivoId).getSheetByName('baul').getDataRange());
}
function isLink(cadena){
return (cadena[0] == '<')
}
function turnToLink(cadena){
if (!(cadena == '#' || cadena == 'sin enlace')) {
return('<a href="' + cadena + '"> - Link - </a>');
} else {
return ('sin enlace');
}
}
function parsedSpreadSheet(){
var hoja = getBaulFile().activate();
for (var i = 2;i<= hoja.getHeight();i++){ // html de los enlaces
var t = hoja.getCell(i,hoja.getWidth()).getValue();
if (! isLink(t)){
hoja.getCell(i,hoja.getWidth()).setValue(turnToLink(t));
}
}
return hoja.getDataTable(true)
}
function doGet() {
var datos = parsedSpreadSheet() // para CSV hay que programar distinto y construir la DataTable.
var sectorFilter = Charts.newCategoryFilter()
.setFilterColumnLabel("sector")
.setAllowMultiple(true)
.build();
var tipoFilter = Charts.newCategoryFilter()
.setAllowMultiple(true)
.setFilterColumnLabel("tipo")
.build();
var searchFilter = Charts.newStringFilter()
.setFilterColumnLabel("Titulo")
.build();
var searchDesc = Charts.newStringFilter()
.setFilterColumnLabel("descripcion")
.build();
var searchGood = Charts.n
var tableChart = Charts.newTableChart()
.setOption('allowHtml', true)
.setDimensions(0,0)
.enableSorting(true)
.useAlternatingRowStyle(true)
.build();
var dashboard = Charts.newDashboardPanel()
.setDataTable(datos)
.bind([sectorFilter, tipoFilter, searchFilter, searchDesc], [tableChart])
.build();
var uiApp = UiApp.createApplication().setTitle('Baul de Recursos')
var anchoTotal = '100%';
dashboard.add(uiApp.createSimplePanel().setWidth('95%').setStyleAttributes({'margin':'40 100px'})
.add(uiApp.createVerticalPanel()
.add(uiApp.createHTML('<h1>Baul de recursos</h1>'))
.add(uiApp.createImage('#'))
.add(uiApp.createHTML('<b style="margin-left: 150px;">Descripción</b>'))
.add(uiApp.createHorizontalPanel().setVerticalAlignment(UiApp.VerticalAlignment.MIDDLE)
.add(sectorFilter)
.add(tipoFilter)
.setSpacing(15)
//.setWidth(anchoTotal)
)
.add(uiApp.createHorizontalPanel()
.add(searchFilter)
.add(searchDesc)
.setSpacing(15)
)
.add(uiApp.createHorizontalPanel()
.add(tableChart).setBorderWidth(1).setHorizontalAlignment(UiApp.HorizontalAlignment.CENTER).setWidth(anchoTotal)
)
//.setWidth(anchoTotal)
)
);
uiApp.add(dashboard).setStyleAttribute('float','center');
return uiApp;
}
答案 0 :(得分:0)
var searchDesc = Charts.newStringFilter()
.setFilterColumnLabel("descripcion")
.setMatchType(Charts.MatchType.ANY)
.build();
对于每个搜索字段,您可以设置.setMatchType(...)
我想知道是否可以创建搜索字段,以便在dataTable中的多个字段列中进行搜索。