关于网格部件选人实现勾选与自动同步选项功能构建
admin
2023-06-10 07:23:43
0

业务需求:批量选择企业人员,填充到网格部件,并实现人员列表的勾选效果,自动同步已选人员列表项。

首先我们需要构建一个已选人员列表和一个企业人员选择列表,


关于网格部件选人实现勾选与自动同步选项功能构建


这个窗体构建相当简单,我们不做详细讲解,这里具体介绍如何实现的人员选择列表的勾选效果和同步人员。


勾选效果实现思路:获取网格部件的datatable,将datatable传入人员选择窗体中,循环判断datatable和选择列表,(人员ID)判断条件成立设置勾选标识。

同步人员实现思路:获取选择列表的标识人员,然后传回显示窗体,循环显示窗体人员,根据datatableselect查询方法判断传回的list集合是否已存在,没有利用datatableDelete的方法删除行。


关于网格部件选人实现勾选与自动同步选项功能构建

'打开智能窗体,窗体位置: 项目窗体\队伍建设\教育培训\*学习人员选择列表*
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

相关内容

热门资讯

李在明向山西煤矿爆炸事故遇难者... 据凤凰卫视报道,韩国总统李在明5月24日就中国山西省煤矿爆炸事故造成多人遇难表示,向遇难者家属和中国...
华为正式发表半导体领域新定律 人民日报客户端 华为正式发表半导体领域新定律 晶体管密度与系统性能通过逻辑折叠技术实现新突破 202...
武契奇向人民英雄纪念碑敬献花圈 5月25日上午,塞尔维亚总统武契奇前往天安门广场,向人民英雄纪念碑敬献花圈。
重庆多个景区受强降雨影响临时闭... 澎湃新闻记者 廖艳 实习生 林霄近日,受持续强降雨的影响,重庆多个景区出现水位上涨、多处塌方等情况,...
视频丨随迁子女教育保障、异地参... 昨天(22日),《国务院关于推行常住地提供基本公共服务的实施意见》对外发布。文件明确提出,促进未落户...
打造生态链 创新再加速 本报讯 (记者 翁云骞 通讯员 虞昌胜 高博雯) 研发整体效率提升30%,其中代码编写效率提升50%...
前DeepMind华人研究员离... 新智元报道 【新智元导读】前谷歌DeepMind研究员离职并发表长文指出AI行业当前最被低估的瓶颈...
以人工智能应用场景推进数实深度... (来源:天津日报) 转自:天津日报 “十五五”规划纲要提出“全面实施‘人工智能+’行动”,并对构建高...
3名青少年强奸犯免于监禁引众怒... 【文/观察者网 陈思佳】“三名青少年强奸犯免于监禁,引发英国全国争议。”据《国际商业时报》5月24日...
河南省“十五五”规划纲要全文发... 【大河财立方消息】5月25日,河南省国民经济和社会发展第十五个五年规划纲要全文发布。其中提到,提振汽...