以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  日期列默认值  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=49559)

--  作者:deliangzhaoe
--  发布时间:2014/4/20 11:59:00
--  日期列默认值
表中有“日期1”列和“日期2”列,“日期1”列在新增一行时,默认值为当前日期,“日期2”列暂时不写入值。
我想在表增加一行后,此表倒数第二行的“日期2”列自动填充值“日期1”列新增行的值,应该在DataRowAddingDataRowAdded中加什么代码?
  倒数第二行 2014-04-10     写入:“2014-04-20” 
   新增行2014-04-20   空着

我说明白了吗?
谢谢!

--  作者:有点甜
--  发布时间:2014/4/20 12:01:00
--  

设置默认就行了。

 

 列属性 -> 默认值 -> date


--  作者:有点甜
--  发布时间:2014/4/20 12:02:00
--  

或者在 DataRowAdded 事件里加入代码

 

e.Datarow("日期1") = Date.Today


--  作者:deliangzhaoe
--  发布时间:2014/4/20 12:25:00
--  
看来是我没说明白:
   日期1  日期2  
  倒数第二行    2014-04-10   写入:“2014-04-20” 
   新增行   2014-04-20   空着

在表增加一行时,此表倒数第二行的“日期2”列自动填充值“日期1”列新增行的值。

--  作者:有点甜
--  发布时间:2014/4/20 14:36:00
--  

 哦,那代码这样写。

 

e.Datarow("日期1") = Date.Today

Dim t As Table = Tables(e.DataTable.Name)

If t.Rows.Count >= 2 Then

    t.Rows(t.Rows.Count - 2)("日期2") = Date.Today

End If


--  作者:deliangzhaoe
--  发布时间:2014/4/20 15:07:00
--  
行了,谢谢,非常感谢!