以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  表格使用ADO.NET载入数据后 事件不执行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=192513)

--  作者:aoc103
--  发布时间:2024/6/28 10:06:00
--  表格使用ADO.NET载入数据后 事件不执行
我的表格由于有使用了虚拟表,只能使用ADO.NET方法联接数据库,现在发现 这个窗口的表格,获得数据后,像positionchanged 跟currentChanged这几个事件都不能正常执行,不知道是什么情况,要如何解决呢
--  作者:有点蓝
--  发布时间:2024/6/28 10:07:00
--  
数据库表怎么绑定窗口表的?相关代码?
--  作者:aoc103
--  发布时间:2024/7/2 12:21:00
--  
    loadsql = cexp(LoadSql, r("帐户编号"), dtpBegin.Value, dtpFinish.Value, 1 , LoadTop)
    Dim db = HySql.DataBaseFactory.CreateDatabase() \'利用ADO.NET方式 创建表
    Dim dt As System.Data.DataTable = db.ExecuteDataSet(loadsql).Tables(0) \'执行存储过程 获取表结构
    t.DataSource = dt \'绑定数据表

--  作者:aoc103
--  发布时间:2024/7/2 12:22:00
--  
数据生产是利用存储过程,要做流水表 生产每一行的结欠,再加上每一行都没有全局唯一键,不能固定行,只能使用虚拟表 sql的数据行数太长太多,只能使用储存过程了,结果一导入,事件就失效了
--  作者:有点蓝
--  发布时间:2024/7/2 13:32:00
--  
这种到全局表事件处理:http://www.foxtable.com/webhelp/topics/0671.htm

比如:
……
t.DataSource = dt \'绑定数据表
t.datatable.GlobalHandler.PrepareEdit True

然后就可以在全局表PrepareEdit事件写点处理

--  作者:aoc103
--  发布时间:2024/7/2 15:08:00
--  
    Dim db = HySql.DataBaseFactory.CreateDatabase() \'利用ADO.NET方式 创建表
    Dim dt As System.Data.DataTable = db.ExecuteDataSet(loadsql).Tables(0) \'执行存储过程 获取表结构
    t.DataSource = dt \'绑定数据表
    t.DataTable.GlobalHandler.CurrentChanged=True

加上了,并在全局表里 写上了测试代码 发现只有执行2次 后面就不执行了,再点不同的行 事件都不执行

--  作者:有点蓝
--  发布时间:2024/7/2 15:39:00
--  
HySql附件里的窗口1就是使用的CurrentChanged,没有问题的。做个例子发上来测试一下
--  作者:aoc103
--  发布时间:2024/7/2 16:12:00
--  
新建了项目 引用了DLL文件
Dim t As Table = Tables(e.Form.Name & "_Table1")
Dim loadsql As String = "s elect * from tbl_商品表"
Dim db = HySql.DataBaseFactory.CreateDatabase() \'利用ADO.NET方式 创建表
Dim dt As System.Data.DataTable = db.ExecuteDataSet(loadsql).Tables(0) \'执行存储过程 获取表结构
t.DataSource = dt \'绑定数据

就用了这个代码 也是一样有问题 我要不要上传一下

--  作者:aoc103
--  发布时间:2024/7/2 16:14:00
--  
{  
  "dbSettings": {  
    "defaultConnection": "sqlserver01",  
    "connectionStrings": [  
      {  
        "name": "sqlserver01",  
        "type": "sqlserver",  
        "connectionString": "Data Source=IP地址,14003;Initial Catalog=dianshang01;Persist Security Info=false;User ID=sa;Password=password;Timeout=90"  
      },  
    ]  
  }  
}  
麻烦改成你的本地SQL地址跟你的数据库名称

--  作者:aoc103
--  发布时间:2024/7/2 16:15:00
--  
这是文件