本帖最后由 yin_tb 于 2023-11-19 10:51 编辑
如题,如何实现C1TrueDBgrid每一行的ComboBox中有不同的项。意思如下:
一个C1TrueDBgrid,命名为Tgrid1,它有如下几个列:
商品 规格 数量 尺码
Tgrid1.Columns("尺码").ValuesItems.Presentation=PresentationEnum.ComboBox; //尺码列是列表列。
需求:当在商品中,输入选择销售【衣服】类货物的时候,尺码列表中,添加的是170 175 180 这种衣服才有的尺码。
当在商品中,输入选择销售【鞋】类货物的时候,尺码列表中,添加的是37 38 39 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,这样变通感觉麻烦,不完美。 |