Foxtable(狐表)用户栏目专家坐堂 → RowNum重新赋值的问题


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

主题:RowNum重新赋值的问题

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
RowNum重新赋值的问题  发帖心情 Post By:2020/11/9 13:12:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:qq图片20201109130744.png
图片点击可在新窗口打开查看


Dim drs As List(of DataRow) = DataTables(eform.name & "_Table1").Select("","[RowNum]")
For i As Integer = 0 To drs.Count - 1
    drs(i).BaseRow("RowNum") = i
Next

表格行通过上移和下移改变了顺序。保存时需要RowNum列顺序和左边一致。
这个代码修改无效,请问还有什么其他方法。

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/9 13:57:00 [只看该作者]

行号列是没有什么业务意义的,没有必要设置一致。

除非只是单机使用,并且每次都加载全部的数据,表格(包括窗口表)也每次都显示全部的数据(不做筛选、不排序)。否则其它列顺序值永远都不可能和行号列的顺序值一致的

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
  发帖心情 Post By:2020/11/9 14:31:00 [只看该作者]

现在的问题是,通过表格行通过上移和下移改变了顺序。等于我这个前台修改表格行顺序看起来正常满足要求。打印报表的时候数据排列还是未改动,行顺序调整实际上无效

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
  发帖心情 Post By:2020/11/9 14:32:00 [只看该作者]

If Tables(eForm.name & "_Table1").Rows.Count>0 Then
    Tables(eForm.name & "_Table1").Current.Move(Tables(eForm.name & "_Table1").Position - 1)
End If

这个是上移行代码

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/9 14:36:00 [只看该作者]

怎么做的打印报表?execl模板?专业报表?这些都有自己处理顺序的模式,和界面顺序基本没有关系

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
  发帖心情 Post By:2020/11/9 14:56:00 [只看该作者]

execl模板。这个跟打印顺序没关系。我只是手动调整行。并不是根据列排序。随机调整,我如果前台格式调整好了。打印的时候后台数据就不跟我需要的格式同步。
是要解决这个问题。简单的办法就是"RowNum"重新赋值。好像无法实现。还有什么变通的方法



 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/9 15:03:00 [只看该作者]

要遍历table,而不是datatable

For i As Integer = 0 To Tables(e.form.name & "_Table1").rows.Count - 1
    Tables(e.form.name & "_Table1").rows(i)("RowNum") = i
Next

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


加好友 发短信
等级:幼狐 帖子:83 积分:637 威望:0 精华:0 注册:2013/3/28 14:15:00
  发帖心情 Post By:2020/11/9 15:57:00 [只看该作者]

谢谢版主。新建一排序列,保存时用代码赋值。打印模板排序列升序。完美解决我要的效果。

另一个问题。
就是我在窗口子表输入数字,让后点保存。这个数字保存不下来。如果我输入完了以后,鼠标在其他格子里点一下,那么保存才正常。

这个焦点问题怎弄


 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/11/9 16:02:00 [只看该作者]

结束编辑:

Tables("A").FinishEditing
Tables("A").save

 回到顶部