Foxtable(狐表)用户栏目专家坐堂 → 列属性排序


  共有3255人关注过本帖树形打印复制链接

主题:列属性排序

美女呀,离线,留言给我吧!
采菊东篱下
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
列属性排序  发帖心情 Post By:2020/12/21 11:58:00 [显示全部帖子]

  我想车辆基本信息表中的巷下拉选项自动安数字升序排序,如果在表巷中使用软件自带的升降,空行走到上第一行了,通常添加数据是在最后一行添加的,用升降功能,我使用一、二、三、四,它也无法实现排序,顺序全乱了,但门牌地址都通常用这些数字表示。系统的数据录入是不断在最后一行录入的,但要求无论前面有无新字,车辆基本信息表中的巷下拉选项自动安数字升序排序,请教如何实现?
密码:888888
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理.foxdb


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/12/21 13:31:00 [显示全部帖子]

列属性中我设置了不允许直接录入,一旦选错想删除又无法操作,如何在选项中添加一项空项,点此空项即显示该单元格为空。
[此贴子已经被作者于2020/12/21 13:41:11编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/12/21 14:13:00 [显示全部帖子]

你这种排序方式,序号会随时变,因为会随时添加或删除一行,就象会计凭证一样,假如删除一份会计凭证,凭证号要通过按钮重新生成一次,我看过一下流水账的设计程序,那是修改,如果是添加行,删除行,程序该是怎样?
[此贴子已经被作者于2020/12/21 14:13:18编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/12/21 15:32:00 [显示全部帖子]

它不是顺序的,有插入或删除行的。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/12/22 20:24:00 [显示全部帖子]

行了
Dim dr As DataRow
dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc")
If dr Is Nothing Then '如果是第一行,计算结存
e.DataRow("序号") = 1
dr = e.DataRow
End If
Dim drs As List(of DataRow) = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
For i As Integer = 1 To drs.Count - 1
    drs(i)("序号") = drs(i-1)("序号") + 1
Next

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/12/22 20:33:00 [显示全部帖子]

我想最后的空行巷列为空,序号也为空,这样写报错了:
Dim dr As DataRow
dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc")
If dr Is Nothing Then '如果是第一行,计算结存
    e.DataRow("序号") = 1
    dr = e.DataRow
End If
Dim drs As List(of DataRow) = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
For i As Integer = 1 To drs.Count - 1
    drs(i)("序号") = drs(i-1)("序号") + 1
    If drs(i).IsNull("巷") Then
        drs(i)("序号") = Nothing
    End If
Next
[此贴子已经被作者于2020/12/22 20:37:28编辑过]

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/12/22 20:40:00 [显示全部帖子]

我的意思是巷列最下面所有为空的行,也许不止一行。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/12/22 20:45:00 [显示全部帖子]

整个软件直接关闭了图片点击可在新窗口打开查看
密码:888888
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理.foxdb


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/12/23 10:24:00 [显示全部帖子]

Dim dr As DataRow
dr = e.DataTable.Find("[_SortKey] < " & e.DataRow("_SortKey"), "[_SortKey] Desc")
If dr Is Nothing Then '如果是第一行,计算结存
    e.DataRow("序号") = 1
    dr = e.DataRow
End If
Dim drs As List(of DataRow) = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey"), "[_SortKey]")
For i As Integer = 1 To drs.Count - 1
    drs(i)("序号") = drs(i-1)("序号") + 1
    If drs(i).IsNull("巷") Then
    drs(i)("序号") = Nothing
    End If
Next
把这段代码写在按钮上总说我错,把e.DataTable改为DataTable("巷")依然说我错。


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1879 积分:10352 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2020/12/23 10:28:00 [显示全部帖子]

写在表事件里重置列后能生成我要的数据,只是只要有行,就生成序号。

 回到顶部
总数 15 1 2 下一页