总结一些winfrom常规控件的不常用操作
1, tab选项卡控件将选项卡放到底部
listview+sqlite实现数据展示和保存功能
增加主键设定, 加上插入或者更新判断 , 增加记录数量功能
主键设定, 再创建create的时候, 增加以下关键词, 这样这个列里就不能有重复的数值, 有的话就更新而不是新增, 因为增不进去.
芯片编号 PRIMARY KEYimport win.ui; /*DSG{{*/ var winform = win.form(text="工作日志表";right=1197;bottom=604) winforexcel中心扩散算法填充数据
查找一个屏幕上给定的点是不是在矩形范围内:PtInRect()
随便测试下:
import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add( picturebox={cls="picturebox";left=78;to调用c#程序集dll学习
c#与aardio进行数组交互
关于参数类型问题:
普通 C#函数不支持 COM接口的参数类型自动转换,如果默认类型转换与 C# 函数的参数类型不一致,可以使
调用c#程序集dll学习
第二个方法演示, 利用dnspy直接修改dll中方法
打开dnspy ,拖动dll到左侧列表中
点击class1类名, 右边可以看到里面的代码, 在代码界面 点击鼠标右键->编辑类 , 修改
调用c#程序集dll学习
目前有两种方案 :
用c#重新封装下那个函数, 把ref或out关键字的输出参数展开
这里也有两个方案:
a, 类里定义多个全局变量, 把ref参数用全局传递出来
b, 用数组(int[])包装下, 给return返回出来
用dnspy查看dll中源码, 直接修改里面函数返回值 , 修改方法参考1
这里还是以上面的dl
调用c#程序集dll学习
c#生成的dll不是c++那种动态库而是程序集, 调用方式不一样
首先, 先用c#创建一个dll, 命名为demodll , 创建三个函数,
第一个 getg 是直接返回一个固定数值12345,
第二个 getv 有一个参数, 然后返回这个参数值,
第三个 swap 包含两个参数, 功能是交换这两个数值, 然后原路返回给这两个参数自己
c#代码如下:
namespace demodll { publicDataTables JS表格组件使用
显示或隐藏某列
DataTables JS表格组件使用
单行选中 并删除选中行
html代码中需添加个删除的函数
<script> $(document).ready(function() { table = $('#example').DataTable(); $('#example tbody').on( 'click', 'tr', function () { if ( $(this).hasClass('selected') ) { $(this).removeClassDataTables JS表格组件使用
多行选中 , aardio获取选中行数量
如果想要能多选行, 那么需要在js里修改 , 顺便我们在aardio里先定义一个函数用来传递数量
wb.external = { getLen = function(len){ console.log(len) } };<script> $(document).ready(function() { table = $('#eDataTables JS表格组件使用
手动添加多行数据: table.rows.add( ).draw();
同上 , 利用表来做容易一点
DataTables JS表格组件使用
手动添加一行数据:
需要用到dataTables的返回table对象 , 利用table.row.add( [1,2,3,4,5,6] ).draw();
所以我们首先去html里面把table对象弄出来.
<script> $(document).ready(function() { table = $('#example').DataTable(); } ); </script>然后就可以在aardio中利用web.doScrip
DataTables JS表格组件使用
你也可以这样来玩, 随机下试试
DataTables JS表格组件使用
我知道上面的代码看起来好傻, 传递了个json格式字符串过去, 我们实际用的时候肯定不会是对字符串进行操作, 一般都是弄个table表来存储数据, 然后转换table为json字符串
那么,这时候用到web.json了
import web.kit.form; var wb = web.kit.form(mainForm); var demoTable = { { "Tiger Nixon", "System Architect", "Edinburgh",DataTables JS表格组件使用
用aardio来提供数据给它
这时候需要aardio特有的external来帮助了
import web.kit.form; var wb = web.kit.form(mainForm); var datastr = /**** [ [ "Tiger Nixon", "System Architect", "Edinburgh", "5421", "2011/04/25", "$320,800" ],DataTables JS表格组件使用
ajax方式, 一次读取全部数据