以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于信息输入的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=105385) |
||||
-- 作者:富春居士 -- 发布时间:2017/8/18 10:14:00 -- 关于信息输入的问题 在输入数据过程中会有这样一种情况:多条数据很多列内容都是一样的,只有一列或几列数据需要改变,故需要实现一个功能:1、在每行最后单元格按回车后自动增加行(已实现),并且部分列内容复制上一行的内容;2、同时另外增加一个按钮,点击以后增加新组,不继续前面的复制功能。 关于1、自动增加行,我在表格里已经调好;关于复制内容我在表格 DateRowadded 中输入代码: CurrentTable.Position = CurrentTable.Rows.Count -1 ‘将最后一行(新增行)变为当前行 Dim nr As Row = CurrentTable.Current \'定义nr为当前行 Dim cr As Row = CurrentTable.Rows(CurrentTable.Current.Index -1) \'定义cr为上一行 nr("当事人") = cr("当事人") nr("发生情况") = cr("发生情况") nr("发生时间") = cr("发生时间") nr("工号") = cr("工号") 这样便能选择性复制部分单元格内容。 但是关于单独按钮新增组的代码不知道怎么写,请狐大大帮忙解决,谢谢!
|
||||
-- 作者:有点甜 -- 发布时间:2017/8/18 10:29:00 -- 按钮代码
vars("不复制") = true
DataRowAdded事件
If vars("不复制") = False then \'本来代码 End If |
||||
-- 作者:富春居士 -- 发布时间:2017/8/18 11:12:00 -- 以下是引用有点甜在2017/8/18 10:29:00的发言:
按钮代码
vars("不复制") = true
If vars("不复制") = False then \'本来代码 End If 试了一下,还是不太清楚怎么弄,麻烦再仔细一点,谢谢。 DataRowAdded事件
[此贴子已经被作者于2017/8/18 11:12:56编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/8/18 11:32:00 --
|
||||
-- 作者:富春居士 -- 发布时间:2017/8/18 14:13:00 -- 已试过,可用,不过要先把“增加”那个按钮点过才能正常执行。非常感谢老师指点 |
||||
-- 作者:富春居士 -- 发布时间:2017/8/21 9:43:00 -- 又有一个问题,按照之前输入之后,我又想导出的时候根据人物内容把“事件”内容合并起来导出,例如: 2017-08-11 办公室 赵云 事件1;事件2;事件3 这又该如何写代码?
[此贴子已经被作者于2017/8/21 9:46:33编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/8/21 9:50:00 -- 生成一个临时表
Dim g As New GroupTableBuilder("统计表1", DataTables("信息入录")) |
||||
-- 作者:富春居士 -- 发布时间:2017/8/21 10:13:00 -- 谢谢“有点甜”老师,不过按照你的代码,我新添加一个人,发现每个人的事件内容都是把所有事件都合并在一起了,我希望的是同一个人的事件内容合并在一起,但是不同人不进行合并,也就是相当于分组统计,代码该怎么改一下,是不是该在GetComboListString后面加筛选条件? 谢谢!
[此贴子已经被作者于2017/8/21 10:24:07编辑过]
|
||||
-- 作者:有点甜 -- 发布时间:2017/8/21 10:18:00 -- Dim g As New GroupTableBuilder("统计表1", DataTables("信息入录")) g.Groups.AddDef("时间", DateGroupEnum.None) g.Groups.AddDef("地点") g.Groups.AddDef("人物") g.Totals.AddDef("事件", AggregateEnum.Count) g.Build() Dim t As Table = Tables("统计表1") t.DataTable.DataCols.Delete("事件") t.DataTable.DataCols.Add("事件", Gettype(String), 255) For Each r As Row In t.Rows r("事件") = DataTables("信息入录").GetComboListString("事件", "时间 = #" & r("时间") & "# and 地点 = \'" & r("地点") & "\' and 人物 = \'" & r("人物") & "\'").replace("|", ",").trim(",") Next MainTable = t |
||||
-- 作者:富春居士 -- 发布时间:2017/8/21 10:25:00 -- 非常感谢老师指导 |