Foxtable(狐表)用户栏目专家坐堂 → [求助]下拉列表过滤


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

主题:[求助]下拉列表过滤

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
[求助]下拉列表过滤  发帖心情 Post By:2017/10/26 10:53:00 [只看该作者]

A表有两个字段:(列名,值),列下我已经做成了下拉(单据类型|商品编码|开始时间|结束时间),现在我需要判断列名下拉的内容,给值字段也做成下拉
比如当列名的内容为单据类型时,值字段的下拉内容为:入库单|退货单,当列名的内容为商品编码失望,值字段的下拉内容为:001|002
我在datacolchanged事件中的代码如下;
Dim t4 As Table = e.Form.Controls("Table4").Table

If e.DataCol.name = "列名" Then
    If e.DataRow("列名") = "单据类型" Then
       ' If e.IsFocusCell Then '如果是焦点单元格
           ' If e.Col.Name = "值" Then '如果正在编辑的是值列
                t4.Cols("值").Combolist ="入库单|退货单|入库退货单"
            End If
        'End If
   ' End If
End If

现在的问题是,我要实现的是选中行列名为单据类型时,当前行值的下拉内容为:入库单|退货单|入库退货单;而不是整个列都变成了下拉内容为:入库单|退货单|入库退货单

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/26 11:05:00 [只看该作者]

prepareEdit事件

 

If e.Col.Name = "值" Then '如果正在编辑的是值列
    If e.Row("列名") = "单据类型" Then
        e.Col.Combolist ="入库单|退货单|入库退货单"
    ElseIf e.Row("列名") = "商品编码" Then
        e.Col.Combolist ="001|002"
    End If
End If
 
 
 
 
 

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/10/26 11:08:00 [只看该作者]

谢谢

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/10/26 11:39:00 [只看该作者]

还有个问题,就是当列名选择开始时间时,值列要变成时间内置器,这个怎么处理,我加了个代码,没有起到作用:e.Col.UsetBuildInEditor = True

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/26 11:50:00 [只看该作者]

If e.Col.Name = "值" Then '如果正在编辑的是值列
    If e.Row("列名") = "单据类型" Then
        e.Col.Combolist ="入库单|退货单|入库退货单"
    ElseIf e.Row("列名") = "商品编码" Then
        e.Col.Combolist ="001|002"

    ElseIf e.Row("列名") = "时间" Then
        e.Table.grid.cols(e.Col.name).Editor = new windows.forms.DateTimePicker
    End If
End If

 


 回到顶部