以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 如何定位复制行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132883)
|
-- 作者:yfy13338431925
-- 发布时间:2019/4/1 15:25:00
-- 如何定位复制行
在订单表中的表事件
DataColChanged
If e.DataCol.Name = "是否" AndAlso e.DataRow("是否") = True Then Dim nma() As String = {"单价","日期"} \'A表数据来源列 Dim nmb() As String = {"单价","日期"} \'B表数据接收列 Dim dr As DataRow = DataTables("新表").AddNew For i As Integer = 0 To nma.Length - 1 dr(nmb(i)) = e.DataRow(nma(i)) Next End If
想把最早的时间这一行复制到“新表”最早时间这一行的相关列中
把最晚的时间这一行,复制到“新表”最新时间这一行的相关列中
上面的代码如何改
实例传上,请老师帮助
此主题相关图片如下:图片1.png
![dvubb 图片点击可在新窗口打开查看](UploadFile/2019-4/2019411525941362.png)
[此贴子已经被作者于2019/4/1 15:25:55编辑过]
|
-- 作者:有点甜
-- 发布时间:2019/4/1 15:33:00
--
具体数据库也要发上来测试。
|
-- 作者:yfy13338431925
-- 发布时间:2019/4/1 16:07:00
--
我发错了,用的都是内表
|
-- 作者:yfy13338431925
-- 发布时间:2019/4/1 16:10:00
--
含数据库
|
-- 作者:有点甜
-- 发布时间:2019/4/1 16:47:00
--
参考代码
If e.DataCol.Name = "是否" Then If e.DataRow("是否") = True Then Dim fdr1 As DataRow = DataTables("新表").find("产品id = \'" & e.DataRow("产品id") & "\' and 起始单价对比 = \'最早\'") Dim fdr2 As DataRow = DataTables("新表").find("产品id = \'" & e.DataRow("产品id") & "\' and 起始单价对比 = \'最晚\'") If fdr1 Is Nothing Then fdr1 = DataTables("新表").AddNew fdr1("产品id") = e.DataRow("产品id") fdr1("起始单价对比") = "最早" End If If fdr2 Is Nothing Then fdr2 = DataTables("新表").AddNew fdr2("产品id") = e.DataRow("产品id") fdr2("起始单价对比") = "最晚" End If Dim dr1 = e.DataTable.Find("产品id = \'" & e.DataRow("产品id") & "\'", "日期") Dim dr2 = e.DataTable.Find("产品id = \'" & e.DataRow("产品id") & "\'", "日期 desc") If dr1 IsNot Nothing Then fdr1("日期") = dr1("日期") fdr1("单价") = dr1("单价") fdr2("日期") = dr2("日期") fdr2("单价") = dr2("单价") End If Else DataTables("新表").deletefor("产品id = \'" & e.DataRow("产品id") & "\'")
End If End If
|
-- 作者:yfy13338431925
-- 发布时间:2019/4/2 0:22:00
--
甜老师:如果遇到有的日期行是空的,排序的时候成了“最早”,如何避免呢,能不能让列对应的逻辑行不能勾选,或者自动选择下一条最早的
|
-- 作者:有点甜
-- 发布时间:2019/4/2 9:54:00
--
改成
Dim dr1 = e.DataTable.Find("产品id = \'" & e.DataRow("产品id") & "\' and 日期 is not null", "日期") Dim dr2 = e.DataTable.Find("产品id = \'" & e.DataRow("产品id") & "\' and 日期 is not null", "日期 desc")
|