以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]表总是能自动增加最下面一行,怎么弄? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=38459) |
-- 作者:kolen -- 发布时间:2013/7/30 9:04:00 -- [求助]表总是能自动增加最下面一行,怎么弄? 表总是能自动增加最下面一行,怎么弄? 解释: 1、在表中开始时候只有1行,空的的,没有数据,如果用户输入数据了,表的第二行就自动新增了,当第2行的数据有了,第3行就自动新增了。 2、如果有3行,1、2行有数据,第3行空白,如果第2行数据删除了,第3行空白行自动也删除了,只留下1、2两行。
请问这个怎么弄呢,以前有人做过现成的例子吗? |
-- 作者:Bin -- 发布时间:2013/7/30 9:06:00 -- 正常来说不会这样啊.是需要点击新增行的啊. |
-- 作者:kolen -- 发布时间:2013/7/30 9:18:00 -- 想把明细表设计成这样。这样可以避免主表里有"新增行"按钮,明细表又要弄一个“新增行”按钮。如果一同放在“工具栏”里,就要两个按钮了。 access文件的增加行就是这个效果,我要这个效果。老师你有什么好的建议 |
-- 作者:Bin -- 发布时间:2013/7/30 9:26:00 -- DatacolChanged事件中,判断输入的值不为空,并且是最后一行.那么就新增行. |
-- 作者:狐狸爸爸 -- 发布时间:2013/7/30 9:29:00 -- 设置Afteredit事件:
If e.Table.Name ="订单.订单明细" Then if e.Row.Isnull(e.col.name) = False then if e.row.Index = e.Table.Rows.Count -1 Then Dim dr As DataRow = DataTables("订单明细").AddNew dr("订单编号") = Tables("订单").Current("订单编号") End if End if End if
不过一般不需要这样做,因为表属性有个“自动增加行”的属性,将其设置为True,在最后一行的最后一列按回车,就会自动增加一行的。
[此贴子已经被作者于2013-7-30 9:29:32编辑过]
|
-- 作者:kolen -- 发布时间:2013/7/30 9:45:00 -- 我还是用代码吧。 因为表属性有个“自动增加行”的属性,将其设置为True,在最后一行的最后一列按回车,就会自动增加一行的。 “最后一行的最后一列按回车”,这个肯定不方便的,明细表列一般很多的,明细表中肯定出线滑条的,而且最后面的列一般都是辅助的,不是必填的,让用户先划过去,选定最后一列,然后回车,是很不方便的。用户体验会不好。 狐爸爸,你系统搞成,自动增加行”的属性,将其设置为True,就和access那样的不行吗?最后一行的最后一列按回车肯定不好的。
|
-- 作者:lsy -- 发布时间:2013/7/30 9:51:00 -- 说明楼主对行列的控制力欠缺一点,回车是可以跳过非编辑列的。 有的表有很多列,但需要编辑操作的列,可能只有三、五列,跳来跳去不费事。 |