Foxtable(狐表)用户栏目专家坐堂 → 订单明细的控件动态显示?


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

主题:订单明细的控件动态显示?

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
订单明细的控件动态显示?  发帖心情 Post By:2015/3/17 2:46:00 [只看该作者]

每张订单的订单明细的产品是不固定的,怎么实现控件如textbox或label动态显示订单明细?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/17 8:36:00 [只看该作者]

拼接所有订单明细 再显示, 具体请上例子,  描述清楚你想实现的需求,免得浪费功夫出来的结果不是你想要的

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2015/3/17 10:24:00 [只看该作者]

以下是引用Bin在2015/3/17 8:36:00的发言:
拼接所有订单明细 再显示, 具体请上例子,  描述清楚你想实现的需求,免得浪费功夫出来的结果不是你想要的

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目152.foxdb


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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2015/3/17 10:25:00 [只看该作者]

订单10里面有两个产品,订单11里面有三个产品,然后在label里面根据订单显示不同的产品名称等信息, 如果选中订单10,label出现两个,选中订单11,label出现3个


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/3/17 10:40:00 [只看该作者]

Label显示一个数字2? 还是什么意思? 你窗口都已经显示明细表了? 还要一个Label显示什么? 不明白你的需求

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2015/3/17 10:51:00 [只看该作者]

以下是引用Bin在2015/3/17 10:40:00的发言:
Label显示一个数字2? 还是什么意思? 你窗口都已经显示明细表了? 还要一个Label显示什么? 不明白你的需求

我意思是用控件形式代替明细表


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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2015/3/17 10:55:00 [只看该作者]

譬如如果订单编号100,里面有两个产品,产品A和产品B, 那么选中订单100的时候,label 就显示产品A和产品B, 订单编号101的订单里面有三个产品,A,B,C,那么选中订单101的时候,控件label就显示 产品A,产品B, 产品C

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


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

 呃,你就是想生成多个控件而已。参考下面的代码,比如写到 Afterload事件

 

Dim sl As Double = 10
For Each r As Row In Tables("订单.订单明细").Rows
    Dim lbl As WinForm.Label
    lbl = e.Form.CreateControl("p_lbl" & r.Index, ControlTypeEnum.Label)
    lbl.Text = r("产品名称")
    lbl.Left = sl
    lbl.Top = 100
    sl += lbl.Width + 20
    e.Form.Controls("Panel1").AddControl(lbl)
Next


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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2015/3/17 18:25:00 [只看该作者]

以下是引用有点甜在2015/3/17 10:56:00的发言:

 呃,你就是想生成多个控件而已。参考下面的代码,比如写到 Afterload事件

 

Dim sl As Double = 10
For Each r As Row In Tables("订单.订单明细").Rows
    Dim lbl As WinForm.Label
    lbl = e.Form.CreateControl("p_lbl" & r.Index, ControlTypeEnum.Label)
    lbl.Text = r("产品名称")
    lbl.Left = sl
    lbl.Top = 100
    sl += lbl.Width + 20
    e.Form.Controls("Panel1").AddControl(lbl)
Next

这个无法随着订单号改变而改变啊


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


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

 呃,能不能有点变通?你在那里需要生成,就在那里放下面的代码啊。比如你把代码写到textbox的ValueChanged事件里面去。

 

Dim sl As Double = 10
e.Form.Controls("Panel1").basecontrol.Controls.Clear
For Each r As Row In Tables("订单.订单明细").Rows
    Dim lbl As WinForm.Label
    lbl = e.Form.CreateControl("p_lbl" & r.Index, ControlTypeEnum.Label)
    lbl.Text = r("产品名称")
    lbl.Left = sl
    lbl.Top = 100
    sl += lbl.Width + 20
    e.Form.Controls("Panel1").AddControl(lbl)
Next

[此贴子已经被作者于2015/3/17 19:16:57编辑过]

 回到顶部