Foxtable(狐表)用户栏目专家坐堂 → [求助]加载行


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

主题:[求助]加载行

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


加好友 发短信
等级:七尾狐 帖子:1629 积分:14390 威望:0 精华:0 注册:2014/6/6 8:42:00
[求助]加载行  发帖心情 Post By:2017/1/15 19:31:00 [只看该作者]

老师,很忏愧,后面的加载 dr 代码竟然不会写了

Dim drs As List(of  DataRow) = DataTables("一类疫苗出库单").SQLSelect("出入库类型 = '3'")
For Each dr As DataRow In drs
    If dr IsNot Nothing Then
        Dim zs As List(of  DataRow) = dr.GetChildRows("一类疫苗出库表")
        If zs.Count <= 0 Then
            MessageBox.Show("有出库单没有出库明细,请及时删除!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
        End If
   要加载 dr 代码
[此贴子已经被作者于2017/1/15 20:43:34编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/16 3:42:00 [只看该作者]

 

DataTables("一类疫苗出库表").RemoveFor("_Identify = '" & dr("_Identify") & "'")
DataTables("一类疫苗出库表").AppendLoad("_Identify = '" & dr("_Identify") & "'")


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


加好友 发短信
等级:七尾狐 帖子:1629 积分:14390 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2017/1/19 17:40:00 [只看该作者]

老师,怎么这两段代码都只加载第一行而不是找到的符合条件的行?MessageBox.Show 还是执行了,就是后面的加载行没执行,用 loadfilter 也一样。

Dim drs As List(of  DataRow) = DataTables("一类疫苗出库单").SQLSelect("出入库类型 = '3'")
For Each dr As DataRow In drs
    If dr IsNot Nothing Then
        Dim zs As List(of  DataRow) = dr.GetChildRows("一类疫苗出库表")
        If zs.Count <= 0 Then
            MessageBox.Show("有出库单没有出库明细,请及时删除!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)

            DataTables("一类疫苗出库单").RemoveFor("_Identify = '" & dr("_Identify") & "'")
            DataTables("一类疫苗出库单").AppendLoad("_Identify = '" & dr("_Identify") & "'")

            return

        End If
    end if
next
 
 
Dim  drs As List(of DataRow) = DataTables("一类疫苗出库单").SQLSelect("出入库类型 = '3' and 确认开单 = '" & True & "'")
For Each dr As DataRow In drs
    If dr IsNot Nothing Then
        For i As Integer = 0 To drs.Count - 1
            Dim crs As List(of DataRow) = drs(i).GetChildRows("一类疫苗出库表")
            If crs.Count <=0 Then
                MessageBox.Show("有出库单没有明细,请删除或添加明细后新增!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)                 
                DataTables("一类疫苗出库单").RemoveFor("出库单编号 = '" & drs(i)("出库单编号") & "'")
                DataTables("一类疫苗出库单").AppendLoad("出库单编号 = '" & drs(i)("出库单编号") & "'")
                Return
            End If          
        Next       
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/19 17:58:00 [只看该作者]

 

 把 return去掉

 

 


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


加好友 发短信
等级:七尾狐 帖子:1629 积分:14390 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2017/1/19 21:34:00 [只看该作者]

老师,去掉return 就进入死循环了。

 

算了,我自己再花点时间研究研究。谢谢你!

[此贴子已经被作者于2017/1/19 21:34:54编辑过]

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/1/20 0:37:00 [只看该作者]

 你代码写在哪里?怎么会死循环?

 

 最好做个例子上来测试吧。


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


加好友 发短信
等级:七尾狐 帖子:1629 积分:14390 威望:0 精华:0 注册:2014/6/6 8:42:00
  发帖心情 Post By:2017/1/20 8:30:00 [只看该作者]

老师,代码放在按钮里面。目的就是增加行之前判断数据库中是否存没有明细的出库单,如果存在就提示并且加载该行。避免出现空单。

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105864 积分:538377 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/1/20 9:01:00 [只看该作者]

1、如果drs没有东西,for each里面的代码是不会执行的,如果有,里面的所有DataRow都不会是空的,所以下面判断代码是多余的

 If dr IsNot Nothing Then

2、第二个SQLSelect后面的代码用了二个for循环,不明白有什么作用,第二个 For i As Integer = 0 To drs.Count - 1有什么意义?

For Each dr As DataRow In drs
    If dr IsNot Nothing Then
        For i As Integer = 0 To drs.Count - 1

3、drs(i).GetChildRows("一类疫苗出库表")------自己和自己关联?不建议这样用,尽量分成父子表的模式

4、不知道你表结构怎么样,我觉得二个SQLSelect可以拼成一个用的

 回到顶部