yin_tb 发表于 2023-11-19 10:44:13

如何实现C1TrueDBgrid每一行的ComboBox中有不同的项

本帖最后由 yin_tb 于 2023-11-19 10:51 编辑

如题,如何实现C1TrueDBgrid每一行的ComboBox中有不同的项。意思如下:

一个C1TrueDBgrid,命名为Tgrid1,它有如下几个列:
商品    规格    数量尺码

Tgrid1.Columns("尺码").ValuesItems.Presentation=PresentationEnum.ComboBox;   //尺码列是列表列。

需求:当在商品中,输入选择销售【衣服】类货物的时候,尺码列表中,添加的是170   175180 这种衣服才有的尺码。
         当在商品中,输入选择销售【鞋】类货物的时候,尺码列表中,添加的是37   3839 40 41 这种鞋才有的尺码。

C1TrueDBgrid的列表列,好像只能所有行全一样,因为,列表项是绑的列,而不是可以绑某个单元格
举例:
      ValueItems vi=Tgrid1.Columns("尺码").ValueItems;
       vi.Validate=True;
       vi.Values.Add(New ValueItem("170","170"));
       vi.Values.Add(New ValueItem("175","175"));

微软VS中自带的DataGridView就能实现这种效果。因为,它有个DataGridViewComboBoxCell,可以如下这样写,给行的列表添加列表项:
DirectCast(dgv1.Item("尺码",行号),DataGridViewComboBoxCell).Items.Add("175");
DirectCast(dgv1.Item("尺码",行号),DataGridViewComboBoxCell).Items.Add("180");

C1TrueDBgrid能实现这种功能吗?弄一个ComboBox给Tgrid1.Columns("尺码").Editor,这样变通感觉麻烦,不完美。

Richard.Ma 发表于 2023-11-19 10:44:14

目前没有你说的这种写法,实现需求的话,还是得使用editor,这个也是比较灵活的方式了

yin_tb 发表于 2023-11-20 14:57:26

好的,谢谢马老师,我用Editor来实现吧。

Richard.Ma 发表于 2023-11-20 18:05:43

不客气
页: [1]
查看完整版本: 如何实现C1TrueDBgrid每一行的ComboBox中有不同的项