Foxtable(狐表)用户栏目专家坐堂 → 请教ListView回写表记录的排序问题


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

主题:请教ListView回写表记录的排序问题

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


加好友 发短信
等级:一尾狐 帖子:433 积分:4351 威望:0 精华:0 注册:2017/3/20 21:08:00
请教ListView回写表记录的排序问题  发帖心情 Post By:2023/1/1 18:16:00 [显示全部帖子]

请教专家:ListView回写表记录的排序问题
我有ListView1 和ListView2 , ListView2 对应保存一到 TableB;
我首次从LV1 拖记录到LV2 并保存到 TableB 时,TableB里面的记录顺序能与 LV2显示的一致
但保存TableB之后,再从LV1 拖记录到 LV2 的任意位置,再保存到 TableB 时,
      后来拖到Lv2的记录就始终被追加保存到TableB 的最后行了,

请问:如何才能保证后期向LV2 追加拖记录时,也能按显示的顺序直接保存到TableB的相应行?
        我现在只能:“关闭应用”-->打开应用-->重新调整行序-->再保存,才能达到目的
----保存代码如下----

Dim lvw As WinForm.ListView = e.Form.Controls("ListView2")
Dim cls() As String = {"工号", "姓名", "年龄", "出生日期"} '指定要显示的列
DataTables("TableB").StopRedraw '暂停绘制
For Each vr As WinForm.ListViewRow In lvw.Rows
    Dim dr As DataRow = vr.tag
    dr.baseRow("_SortKey") = vr.Index
    dr.Save()
    Dim ps As DataRow = DataTables("TableB").Find("工号='" & dr("工号") & "'")
    If ps Is Nothing Then
        Dim r1 As Row = Tables("TableB").addNew()
        For Each cl As String In cls
            r1(cl) = dr(cl)
        Next
        r1("_Index") = r1("_Identify") 
        r1.Save()
    End If 
Next
DataTables("TableB").ResumeRedraw '恢复绘制
DataTables("TableB").Save() '保存

 回到顶部