以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 自动增加行未实现 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140101) |
||||
-- 作者:lfz123 -- 发布时间:2019/8/29 13:47:00 -- 自动增加行未实现 想在最后一行的最后一个单元格按回车键时,自动增加一行,我的在窗口的afterload中写了如下代码: Dim t As Table = Tables("专票录入_Table1") \'这个表设置的是SQLTable表 t.AutoAddNew = True |
||||
-- 作者:有点蓝 -- 发布时间:2019/8/29 14:34:00 -- 没有问题的。如果之后使用fill或者DataSource设置数据,那么需要设置后重新调用1楼代码 |
||||
-- 作者:lfz123 -- 发布时间:2019/8/30 9:32:00 -- 回复:(有点蓝)没有问题的。如果之后使用fill或者Da... 我即没有fill也没有DataSource,我重新做了一个简单的日子,测试是没有问题的,但在我的系统里面就是不行,我把整个afterload中的代码贴给您麻烦帮我看下:并且我把SQLTable表事件的代码也全部屏蔽掉了 Dim dt As DataTable = DataTables("专票录入_Table1") Dim str As String = Forms("申请单录入").Controls("tb申请单号").value dt.loadFilter = "申请单号 = \'"& str & "\'" dt.load() Dim t As Table = Tables("专票录入_Table1") t.AutoAddNew = True t.Grid.Styles.EmptyArea.backcolor = color.white \'设置表格内空白区域的背景色为 白色 t.Grid.Styles.EmptyArea.Border.Style = 0 \'去表格边框 t.cols("不含税金额").GrandTotal = True t.Cols("税额").GrandTotal = True t.cols("发票金额").GrandTotal = True t.GrandTotal = True \'显示合计模式 If t.Rows.Count = 0 Then e.Form.Controls("Button1").PerformClick \'窗口打开模拟按下新增按钮 End If For Each dc As DataCol In DataTables("专票录入_table1").DataCols If dc.IsNumeric Then dc.Decimals = 2 dc.SetFormat("0.00") End If Next Dim cmd As New SQLCommand cmd.C Dim dt1 As DataTable cmd.CommandText = "SELECT DISTINCT 开票单位简称 Fro m {进项发票}" dt1 = cmd.ExecuteReader() t.Cols("开票单位简称").ComboList= dt1.GetComboListString("开票单位简称") |
||||
-- 作者:有点蓝 -- 发布时间:2019/8/30 10:08:00 -- 把这句代码放到最后试试,就是这个事件其它代码的最后 …… cmd.CommandText = "SELECT DISTINCT 开票单位简称 Fro m {进项发票}" dt1 = cmd.ExecuteReader() t.Cols("开票单位简称").ComboList= dt1.GetComboListString("开票单位简称") t.AutoAddNew = True
|
||||
-- 作者:lfz123 -- 发布时间:2019/8/30 10:25:00 -- 回复:(有点蓝)把这句代码放到最后试试,就是这个事... 把 t.AutoAddNew = True 放在最后了还是不行,我把窗口表的设置也给你看下,红色框框的显示列是可以勾选的,但是在这个里面没有显示勾选的框框,只能手动输入,和这个会有关系吗? 我在很多类似于这种SQLtable表的显示列这一块都有这个问题,至今未解决,同样的这个自动增加行也是的 [此贴子已经被作者于2019/8/30 10:26:55编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2019/8/30 11:35:00 -- access数据库?是不是有人使用access打开了这个数据库。数据库处于打开状态,显示列是无法使用的。 做个实例发上来看看
|
||||
-- 作者:lfz123 -- 发布时间:2019/9/3 10:38:00 -- 回复:(有点蓝)access数据库?是不是有人使用access...
老师,我做了一个测试,有三个问题 1.项目带不开了,不知道啥原因,要按住CTRL 2.SQLtable的属性设置里面有个显示列可以显示所有列供选择的,怎么不显示这个了 2.自动增加行设置不起作用 见图
|
||||
-- 作者:有点蓝 -- 发布时间:2019/9/3 11:07:00 -- 1、数据库缺表引起的,比如user表 2、我测试没有问题,应该是使用access打开数据库了吧,关闭即可 3、这个是合计行的问题,取消合计行,或者自己写代码处理一下 KeyDown事件 If e.keycode = Keys.D AndAlso e.control = True Then For i As Integer = e.Table.topposition + 1 To e.Table.bottomposition e.Table.rows(i)(e.Table.colsel) = e.Table.rows(i-1)(e.Table.colsel) Next e.cancel = True ElseIf e.keycode = 40 AndAlso e.Table.Rowsel = e.Table.Rows.count - 1 AndAlso e.Table.colsel = 0 e.cancel = True e.Table.addnew e.Table.Select(e.Table.Rows.count - 1,0) End If |
||||
-- 作者:lfz123 -- 发布时间:2019/9/4 14:35:00 -- 回复:(有点蓝)1、数据库缺表引起的,比如user表2、... 2、我测试没有问题,应该是使用access打开数据库了吧,关闭即可 →老师我并没有使用access打开数据库喔,我的office里面就没有选择安装access,见下图 3、这个是合计行的问题,取消合计行,或者自己写代码处理一下 →合计行我还是想用的,不想取消;如果我在最后一行输入数字,在编辑状态下按回车键是不会新增行的,除非不在编辑状态下按回车键下面的这段代码是可以新增行的,我是想在编辑状态下按下回车键以后就能新增行喔 KeyDown事件 If e.keycode = Keys.D AndAlso e.control = True Then For i As Integer = e.Table.topposition + 1 To e.Table.bottomposition e.Table.rows(i)(e.Table.colsel) = e.Table.rows(i-1)(e.Table.colsel) Next e.cancel = True ElseIf e.keycode = 40 AndAlso e.Table.Rowsel = e.Table.Rows.count - 1 AndAlso e.Table.colsel = 0 e.cancel = True e.Table.addnew e.Table.Select(e.Table.Rows.count - 1,0) End If |
||||
-- 作者:有点蓝 -- 发布时间:2019/9/4 15:11:00 -- KeyDownEdit事件自己写类似的代码 |