function() {
function render(params)
{
params.portlet.title = 'My Portlet';
var content = '<body>'+
'<form>' +
' <fieldset>'+
' <legend>Selecting elements </legend> ' +
'<p> <label>Select Range</label> <select id = "myList"><option value = "1">Daily</option> <option value = "2">Weekly</option>'+
' <option value = "3">Monthly</option> <option value = "4">Yearly</option>' +
' </select>' +
' </p>' +
' </fieldset>' +
'</form>' +
' </body>';
params.portlet.html = content;
}
你们能帮我写饼图的代码吗。并为我提供一些从portlet调用其他脚本的语法。
我尝试在netsuite中使用html添加一个选择字段(下拉(,它运行良好。但我想在我的UI中使用饼图。
NetSuite运行JavaScript/HTML/CSS与其他一切一样。我会制作一个HTML文件,其中包含您所需要的一切(JavaScript、CSS和任何绘图库(,并用localhost打开它来查看。当你有自己喜欢的方式时,选择适合你的选项将其移植到NetSuite:
-
将文本复制到
var content = "your_html_here"
(维护起来可能很麻烦,但可以正常工作(。 -
将HTML文件加载到文件柜中,并将其加载到portlet脚本中,以进行文本替换,从而插入所需的任何数据(这是一个额外的步骤,但维护起来要容易得多,您可以下拉HTML文件来进行所需的任何本地测试(:
var content = file.load({id: /Suitescripts/path_to_your_html_file.html"}).getContents()
content = content.replace("Placeholder_Text", "With This")
既然你在问如何构建饼图,我建议你使用类似d3js的东西,这样你就可以在这个饼图的例子基础上构建饼图。
如果你陷入困境,或者需要帮助,请在下面回复。没有愚蠢的问题,保证!
编辑
您询问了将搜索结果添加到HTML文件的问题。虽然听起来你已经回答了你的问题,但我会在这里记录这个过程,以防万一,永远不知道是谁从谷歌来的!
var mySearch = search.load({id: "my_search_id", ...})
mySearch.run.each(function(result) {
searchHTML += "<tr>"
searchHTML += `<td>${result.getText({name: "fieldname", ... })}</td>`
searchHTML += `<td>${result.getValue({name: "fieldname", ... })}</td>`
searchHTML += "</tr>"
// To move onto the next result
return true;
})
希望能有所帮助!