Foxtable(狐表)用户栏目专家坐堂 → Datalist中显示的数据,如何找到指定的数据?


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

主题:Datalist中显示的数据,如何找到指定的数据?

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
Datalist中显示的数据,如何找到指定的数据?  发帖心情 Post By:2009/7/23 11:27:00 [显示全部帖子]

Datalist中显示的数据,如何找到指定列满足条件的数据的行。并光标或选定颜色区分(设为当前行),请教如何实现?

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2009/7/23 12:12:00 [显示全部帖子]

例如,我已找到相关行,行号为2,如何使用此行为当前行,目的就是为了得到选定行的颜色,因为不能自行设置颜色。为了区分找到行是哪一行?

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2009/7/23 12:23:00 [显示全部帖子]

不行的,如行的话,就不会这样折腾了!

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2009/7/23 12:29:00 [显示全部帖子]

还是老大能提供选定行进行着色就好了!不知老大是否有更大目标及思路来解决Datalist目录遇到一些问题。因目前Datalist与Table是各有优点及特点,两者都不能缺。但有些功能又受限呀。


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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2009/7/23 12:54:00 [显示全部帖子]

已OK!

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2009/7/23 15:19:00 [显示全部帖子]

Dim dst As WinForm.DataList = e.Form.Controls("DataList1")
    Dim dr as DataRow = dst.Current '获得选定行
    If dr Is Nothing Then
          Return
    End If
If e.Control = True then
    dim r as integer = dst.Position
    If dst.GetChecked(r) = false Then
       dst.SetChecked(r, True)
       e.form.controls("textbox16").value = e.form.controls("textbox16").value + dr("重量")
       e.form.controls("textbox17").value = e.form.controls("textbox17").value + dr("件数")
    end if
end if
If e.Alt = True then
    dim r as integer = dst.Position
    If dst.GetChecked(r) = true Then
       dst.SetChecked(r, false)
       e.form.controls("textbox16").value = e.form.controls("textbox16").value - dr("重量")
       e.form.controls("textbox17").value = e.form.controls("textbox17").value - dr("件数")
    end if
end if

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


加好友 发短信
等级:狐精 帖子:3313 积分:23146 威望:0 精华:1 注册:2009/3/31 11:25:00
  发帖心情 Post By:2009/7/23 15:25:00 [显示全部帖子]

发错了,Sorry!下面是
dim ss as string
If e.KeyCode = Keys.Enter then 
    Dim dst As WinForm.DataList = Forms("出库加").Controls("DataList1")     
    dim s as string = e.Sender.text
    For i as integer = 0 to dst.count -1
       Dim dr as DataRow = dst.GetDataRow(i)
       if dr("捆包号") = s then
          If dst.GetChecked(i) Then
             ss = "找到相关记录!该行之前已被选定!!"
          else
             dst.SetChecked(i, True)
             ss = "找到相关记录!默认已选定该行!!"
             Forms("出库加").Controls("textbox16").value = Forms("出库加").Controls("textbox16").value + dr("重量")
             Forms("出库加").Controls("textbox17").value = Forms("出库加").Controls("textbox17").value + dr("件数")           
          end if
          dst.position = i
          exit for
       end if  
    Next
    if ss Is nothing then
       ss = "未找到相关记录,请重新查找!"
    end if
     e.Cancel = True
end if
e.form.controls("textbox2").value = ss

 回到顶部