Foxtable(狐表)用户栏目专家坐堂 → 求助代码简写


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

主题:求助代码简写

帅哥哟,离线,有人找我吗?
xjc620
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:847 积分:5405 威望:0 精华:0 注册:2014/10/27 23:44:00
求助代码简写  发帖心情 Post By:2014/12/22 19:58:00 [只看该作者]

甜版这个代码是在AfterOpenProject,能不能简写为定位到所有表最后一行,刚才看了下全局表,好像没有合适的事件
Dim idx As Integer = Tables("收入").FindRow(Tables("收入").DataTable.Find("车号 Is not null", "_Identify desc"))
If idx > -1 Then
    Tables("收入").Position = idx
Else
    Tables("收入").Position = Tables("收入").Rows.Count - 1
End If

Dim id As Integer = Tables("支出").FindRow(Tables("支出").DataTable.Find("车号 Is not null", "_Identify desc"))
If id > -1 Then
    Tables("支出").Position = id
Else
    Tables("支出").Position = Tables("支出").Rows.Count - 1
End If

Dim ixd As Integer = Tables("北斗安装").FindRow(Tables("北斗安装").DataTable.Find("车号 Is not null", "_Identify desc"))
If ixd > -1 Then
    Tables("北斗安装").Position = ixd
Else
    Tables("北斗安装").Position = Tables("北斗安装").Rows.Count - 1
End If

Dim id2 As Integer = Tables("北斗续费").FindRow(Tables("北斗续费").DataTable.Find("车号 Is not null", "_Identify desc"))
If id2 > -1 Then
    Tables("北斗续费").Position = id2
Else
    Tables("北斗续费").Position = Tables("北斗续费").Rows.Count - 1
End If

Dim id1 As Integer = Tables("日新车队").FindRow(Tables("日新车队").DataTable.Find("车号 Is not null", "_Sortkey desc"))
If id1 > -1 Then
    Tables("日新车队").Position = id1
Else
    Tables("日新车队").Position = Tables("日新车队").Rows.Count - 1
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/22 20:15:00 [只看该作者]

 不需要在afteropenproject里面写啊。你在currentTableChanged时间写就行了啊。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/22 20:18:00 [只看该作者]

Dim tns() As String = {"日新车队", "收入"}
For Each tn As String In tns
Dim id1 As Integer = Tables(tn).FindRow(Tables(tn).DataTable.Find("车号 Is not null", "_Sortkey desc"))
If id1 > -1 Then
    Tables(tn).Position = id1
Else
    Tables(tn).Position = Tables(tn).Rows.Count - 1
End If
Next

 回到顶部
帅哥哟,离线,有人找我吗?
xjc620
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:847 积分:5405 威望:0 精华:0 注册:2014/10/27 23:44:00
  发帖心情 Post By:2014/12/22 20:19:00 [只看该作者]

CurrentTableChanged事件的话,如果两个表做对比时切换回去就到最后一行,那样还要重新查找刚才那条记录

 回到顶部
帅哥哟,离线,有人找我吗?
xjc620
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:847 积分:5405 威望:0 精华:0 注册:2014/10/27 23:44:00
  发帖心情 Post By:2014/12/22 20:23:00 [只看该作者]

.NET Framework 版本:2.0.50727.6421
Foxtable 版本:2014.11.11.1
错误所在事件:项目,AfterOpenProject
详细错误信息:
无法找到列 _Sortkey。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/12/22 20:26:00 [只看该作者]

Dim tns() As String = {"日新车队", "收入"}
For Each tn As String In tns
    Dim cname As String
    If Tables(tn).Cols.Contains("_Sortkey") Then
        cname = "_Sortkey"
    Else
        cname = "_Identify"
    End If
    Dim id1 As Integer = Tables(tn).FindRow(Tables(tn).DataTable.Find("车号 Is not null", cname &" desc"))
    If id1 > -1 Then
        Tables(tn).Position = id1
    Else
        Tables(tn).Position = Tables(tn).Rows.Count - 1
    End If
Next


 回到顶部