使用自定义函数
关于自定义函数,请参考:自定义函数
Foxtable允许在前端js直接运行Foxtable的自定义函数。
示例
本示例可参考示例文件"CaseStudy\WebViewer\调用Foxtable对象.Table"的窗口"使用自定义函数"。
例如假定你自定义了一个函数Max,用于计算最大值,前端使用该函数的示例代码为:
'''Async
Dim
wv
As
WebViewer = e.Form.Controls("WebViewer1").WebViewer
Await
wv.EnsureCoreWebView2Async(Nothing)
'
初始化WebViewer
Dim
ft
As
New
FoxLib(wv)
'创建Foxtable库
wv.CoreWebView2.AddHostObjectToScript("ft",
ft)
'注入Foxtable库
'定义测试页面
Dim
html
As
String
=
<![CDATA[
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>自定义函数测试</title>
</head>
<body>
<h2>自定义函数测试</h2>
<button onclick="calcMaxValue()">执行自定义函数Max</button>
<script>
const ft =
window.chrome.webview.hostObjects.sync.ft;
function calcMaxValue() {
const v = ft.Functions.Execute("Max", 1, 2, 3, 9);
ft.MessageBox().Show("最大值:"
+ v.toString(),"计算结果",ft.MessageBoxButtons.OK,ft.MessageBoxIcon.Information);
}
</script>
</body>
</html>
]]>.Value
wv.NavigateToString(html)
'
加载测试页面
提示:
小小的示例,大大的能量,任何Foxtable未开通给js的功能,甚至任何.net
framework的功能,任何第三方库的功能,都可以通过这一节小小的说明,完全开放给js。