Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共13 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:狐爸的插入行代码为什么删了呢?

1楼
实话实说 发表于:2009/11/25 10:12:00

有什么问题吗?我正准备用呢

2楼
czy 发表于:2009/11/25 10:36:00
下次更新会启用内置的插入行方法,等几天吧。
3楼
实话实说 发表于:2009/11/25 10:37:00
高兴
4楼
mr725 发表于:2009/11/25 11:21:00
以下是引用czy在2009-11-25 10:36:00的发言:
下次更新会启用内置的插入行方法,等几天吧。

这样好~ 啊 !   还希望有插入多行的更新~

5楼
yangming 发表于:2009/11/25 11:25:00

这样更好!

6楼
mr725 发表于:2009/11/25 11:43:00

很早时东拼西凑做了一个插入多行的代码,提供参考:

'dim n as integer = e.form.controls("textbox1").text
if currenttable.position < 0 then
    CurrentTable.AddNew(9)    ‘(注解:这个数字9 可用文本框(第一行的变量n替换),下同
    For i As Integer = 0 To CurrentTable.Rows.Count-1
        CurrentTable(i,"ID") = i+1
    next
    currenttable.position =0
else   
    dim ii as integer = CurrentTable.Position
    dim d as integer = currenttable.current("ID")
    dim ia as integer = CurrentTable.rows.count
    dim xh as integer = currenttable.current("_identify")
    CurrentTable.AddNew(9)     ‘(注解:这个数字9 可用文本框(第一行的变量n替换)
    for i as integer = ia to CurrentTable.Rows.count-1
        if ii =0
            currenttable(i,"ID") = d-1 -0.001*(i-ia)
        elseif ii+1 = ia
            if d - CurrentTable.rows(ii-1)("id") = 1
                currenttable(i,"ID") = CurrentTable.rows(ii-1)("id") +0.0001*(i+1-ia)
            else
                currenttable(i,"ID") = CurrentTable.rows(ii-1)("id") +0.0001*(i+1-ia)*xh/100
            end if
        else
            if d - CurrentTable.rows(ii-1)("id") = 1
                currenttable(i,"ID") = CurrentTable.rows(ii-1)("id")+0.0001*(i+1-ia)
            else
                currenttable(i,"ID") = CurrentTable.rows(ii-1)("id")+0.00001*(i+1-ia)                
            end if
        end if
    next
    CurrentTable.Sort = "ID"
    For i As Integer = 0 To CurrentTable.Rows.Count-1
        CurrentTable(i,"ID") = i+1
    next   
    With CurrentTable
        Dim r As Integer
        r = .FindRow("[_identify] = " & xh & " ", .Position + 1, True ) 
        If r >= 0 Then 
            .Position = r-9     ‘(注解:这个数字9 可用文本框(第一行的变量n替换)
        End If
    End With
end if

'很多地方我也解释不清了,但效果很好,速度也很快最大插入行数为9999行由代码中0.0001来限定的

7楼
舜风 发表于:2009/11/25 12:13:00

图片点击可在新窗口打开查看如果能把移动行顺序,加入内置的更好

8楼
yangming 发表于:2009/11/25 12:23:00
以下是引用舜风在2009-11-25 12:13:00的发言:

图片点击可在新窗口打开查看如果能把移动行顺序,加入内置的更好

楼主是想在上移或下移行吧,我也需要,支持一下!

9楼
mr725 发表于:2009/11/25 12:52:00
以下是引用舜风在2009-11-25 12:13:00的发言:

图片点击可在新窗口打开查看如果能把移动行顺序,加入内置的更好

这个不复杂吧,比如向上移动5行:currenttable.current("ID") = currenttable.current("ID") - 4.5   
再从新排序ID列即可: CurrentTable.Sort = "ID"
再重算ID:
For i As Integer = 0 To CurrentTable.Rows.Count-1
    CurrentTable(i,"ID") = i+1
next

[此贴子已经被作者于2009-11-25 12:54:46编辑过]
10楼
blackzhu 发表于:2009/11/25 14:40:00
以下是引用czy在2009-11-25 10:36:00的发言:
下次更新会启用内置的插入行方法,等几天吧。

真的还是假的

共13 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 2 queries.