以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]新增一行 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=187419) |
-- 作者:puma -- 发布时间:2023/7/17 9:38:00 -- [求助]新增一行 我的需求是:只要最后一行有数据,就新增一行 用以下代,放到DataColChanging后,只要修改自动一行,效果不好,有自动新增行的案例吗? Select Case e.DataCol.Name Case "列" Dim dr As DataRow = e.DataTable.DataRows(e.DataTable.DataRows.Count - 1) \'获得最后一行 Dim max As Integer = DataTables("表").Compute("max(ID)") If dr("列") IsNot Nothing Then \' MessageBox.show("1") DataTables("列").DataCols("ID").DefaultValue = """" & max & """" DataTables("列").AddNew() Else e.Cancel = True End If End Select
|
-- 作者:有点蓝 -- 发布时间:2023/7/17 9:41:00 -- 【只要最后一行有数据】是指本来所有单元格都没有数据,然后随便一个单元格有数据就新增一行? |
-- 作者:puma -- 发布时间:2023/7/17 9:48:00 -- 这个表是子表,我有4列数据,第一列是id,第二列第三列是数据,第四列是表达式。 需求是第二列第三列 is Nothing 不新增行,
第二列第三列 isnot Nothing 新增行
|
-- 作者:有点蓝 -- 发布时间:2023/7/17 9:58:00 -- datacolchanged事件 dim idx as integer = tables("某表").findrow(e.datarow) if idx = tables("某表").rows.count - 1 Select Case e.DataCol.Name case "第二列" if e.datarow.isnull("第三列") andalso e.oldvalue is nothing andalso e.newvalue > "" then e.datatable.addnew endif case "第三列" if e.datarow.isnull("第二列") andalso e.oldvalue is nothing andalso e.newvalue > "" then e.datatable.addnew endif End Select end if
|