以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于标记列的问题,求助!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=148555)

--  作者:温馨的大树
--  发布时间:2020/4/10 2:33:00
--  关于标记列的问题,求助!
怎么按照帮助说明写代码,修改其中部分订单单元格数据,怎么修过的单元格不能生成样式红底白字呢?
窗口中的表类型是SQLQuery,外部数据源生成的表
在窗口"今日dt“的afterload写代码如下 
DataTables("今日dt_Table1").AddUserStyle("c", Color.red,Color.white)
然后在表的DrawCell写代码如下:
If e.Row(e.Col.Name) <> e.Row.DataRow.OriginalValue(e.Col.Name) Then
    e.Style = "c"
End If


--  作者:有点蓝
--  发布时间:2020/4/10 9:05:00
--  
"今日dt_Table1"窗口表是什么类型?有没有使用fill、DataSource等设置窗口表数据?
--  作者:温馨的大树
--  发布时间:2020/4/10 10:13:00
--  
SQLQuery型的动态生成的数据表,
图片点击可在新窗口打开查看此主题相关图片如下:万能五笔截图_20200410101128.png
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2020/4/10 10:33:00
--  
测试没有问题。代码在哪里的drawcell事件?修改的是窗口表还是主表的数据,这2个表是没有什么关系的
--  作者:温馨的大树
--  发布时间:2020/4/10 11:14:00
--  
“今日dt”是窗口,table1是窗口中从订单明细表动态生成的SQLQuery类型数据表,drawcell就是这个动态表里的事件,在订单明细表里面修改了部分单元格数据,但是生成查看table1这个数据表,并没有看到修改数据的单元格样式变成红底白字
--  作者:有点蓝
--  发布时间:2020/4/10 11:37:00
--  
修改的是主表的数据,和窗口表是没有什么关系的,是独立的2个表格。直接在窗口表修改数据才能实现单元格样式。
--  作者:温馨的大树
--  发布时间:2020/4/10 11:44:00
--  回复:(有点蓝)修改的是主表的数据,和窗口表是没有...
可是在主表我试着操作,好象也是不能实现的哦,代码写得有没有问题呢?是需要对已经录入的数据进行修改才有效的吧,如果 以前数据是空,没有录入的,补录入的是否也算修改数据呢


--  作者:有点蓝
--  发布时间:2020/4/10 12:03:00
--  
在主表操作就在主表的drawcell事件写代码。

对表格单元格进行修改就有效,不管之前有没有值

--  作者:温馨的大树
--  发布时间:2020/4/10 12:38:00
--  回复:(有点蓝)在主表操作就在主表的drawcell事件写...
如果希望能看到修改标记的单元格能看到修改前的值,需要怎么操作呢?
--  作者:有点蓝
--  发布时间:2020/4/10 14:04:00
--  
方法1、可以使用日志记录:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=110215
2、如果不够没有保存,可以利用提示显示:http://www.foxtable.com/webhelp/topics/2681.htm
比如

If e.Col.Name = "备注" AndAlso e.Row.IsNull("备注") = False Then
    e.Table.ShowToolTip("修改前" & e.Row
.DataRow.OriginalValue(e.Col.Name),e.Row,e.Col)
End
 If