您好,登錄后才能下訂單哦!
業務需求:批量選擇企業人員,填充到網格部件,并實現人員列表的勾選效果,自動同步已選人員列表項。
首先我們需要構建一個已選人員列表和一個企業人員選擇列表,
這個窗體構建相當簡單,我們不做詳細講解,這里具體介紹如何實現的人員選擇列表的勾選效果和同步人員。
勾選效果實現思路:獲取網格部件的datatable,將datatable傳入人員選擇窗體中,循環判斷datatable和選擇列表,(人員ID)判斷條件成立設置勾選標識。
同步人員實現思路:獲取選擇列表的標識人員,然后傳回顯示窗體,循環顯示窗體人員,根據datatable的select查詢方法判斷傳回的list集合是否已存在,沒有利用datatable的Delete的方法刪除行。
'打開智能窗體,窗體位置: 項目窗體\隊伍建設\教育培訓\*學習人員選擇列表* dim form1 = 創建窗體("8f03a0cb-db62-4965-81e4-b995e4e4b1d5") 'if Me.Input1="EDIT" then '獲取已選人員列表 dim dt_YXRY=網格部件1.DataTable form1.Input1="修改" '傳入選擇列表 form1.Input2=dt_YXRY form1.Input3="其他" 'end if form1.ShowDialog() '判斷是否得到"Y" if form1.Output1="Y" then dim index = 網格部件1.DataTable.Rows.Count Dim dt=網格部件1.DataTable dim drx dim rows=form1.Output2 '判斷人員勾選是否為空 dim dt_dr if rows.Count <> 0 then for each dr in rows '判斷選擇的人員是否在網格中cstr drx = dt.Select("PEIXUNRENYUANID='"+cstr(dr["ID"])+" ' and QUERENRENGANGWEIID = '"+cstr(dr["崗位ID"])+"' ") '不在網格中。drx.Length>0表示存在 if drx.Length < 1 then 'msgbox(dr["ID"]&" "&dr["姓名"]) dt_dr=dt.NewRow() dt_dr["ID"]=Guid() dt_dr["PEIXUNRENYUANID"]=dr["ID"] dt_dr["PEIXUNRENMINGCHENG"]=dr["姓名"] dt_dr["SHIFOUCANJIAXUEXI"]=true dt_dr["QUERENRENGANGWEIID"]=dr["崗位ID"] dt_dr["GANGWEI"]=dr["崗位"] dt.Rows.Add(dt_dr) index=index+1 end if next end if '定義變量獲取傳回的list集合 dim dtt=form1.Output4 '定義變量獲取網格部件的dt dim dtt1=網格部件1.DataTable dim dtt_dr if dtt.Rows.Count>0 and dtt1.Rows.Count>0 then '循環dt for each dr1 in dtt1.Copy().Rows '判斷行狀態是否為標記已刪除 if dr1.RowState<>8 then '利用select方法判斷是否存在 rows=dtt.Select("人員ID='"+cstr(dr1["PEIXUNRENYUANID"])+"'") if rows.Length = 0 then 'msgbox(dr1["PEIXUNRENYUANID"]&" 沒找到,移除") dtt1.Select("PEIXUNRENYUANID='"+Cstr(dr1["PEIXUNRENYUANID"])+"'")[0].Delete() end if end if next end if end if
人員選擇列表代碼:
dim dt_RY dim xm dim jsy '設置安全人員選擇狀態,循環設置已經選擇的人員 dim a dim b dim dt_a= 網格部件1.DataTable for each dr1 in RY.Rows if dr1.RowState<>8 then '人員ID a=dr1["PEIXUNRENYUANID"] '崗位ID b=dr1["QUERENRENGANGWEIID"] for each dr4 in dt_a.Rows if Cstr(dr4["ID"])=Cstr(a) and Cstr(dr4["崗位ID"])=Cstr(b) then 網格部件1.MarkRowsByFilter("ID="&Cstr(dr4["ID"])&" and 崗位ID='"&Cstr(dr4["崗位ID"])&"' ",true) end if next end if next
原文地址:http://bbs.delit.cn/thread-975-1-1.html
轉載請注明出處:
撰寫人:度量科技http://www.delit.cn
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。