以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 请教ListView回写表记录的排序问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=184780) |
-- 作者:lanbor -- 发布时间:2023/1/1 18:16:00 -- 请教ListView回写表记录的排序问题 请教专家: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() \'保存 |
-- 作者:有点蓝 -- 发布时间:2023/1/2 20:01:00 -- 使用插入行功能:http://www.foxtable.com/webhelp/topics/1981.htm |