百里叶扬 发表于 2024-10-31 16:25:58

c1flexgrid的ComboList,可以对同一列的每一行设置不同的选项吗

   例如:表格中第一行的1列设置   c1flexgrid.Cols(1).ComboList = "红色|蓝色|白色"

                第二行的1列设置c1flexgrid.Cols(1).ComboList = "紫色|绿色|橙色"


    如果想这样设置,应该如何实现呢?

Richard.Ma 发表于 2024-10-31 16:25:59

这个目前做不到,因为相关的设置就是针对于列的

百里叶扬 发表于 2024-11-1 09:46:55

好的,谢谢

Richard.Ma 发表于 2024-11-1 10:58:59

不客气

一路向东 发表于 2024-11-21 22:36:15

可以,有两种方法:

1、继续用ComboList,切换行的时候修改列的ComboList内容
private void c1FlexGrid1_SelChange(object sender, EventArgs e)
{
    if (c1FlexGrid1.Col == 1)
    {
      switch (c1FlexGrid1.Row)
      {
            case 1:
                c1FlexGrid1.Cols.ComboList = "红色|蓝色|白色";
                break;
            case 2:
                c1FlexGrid1.Cols.ComboList = "紫色|绿色|橙色";
                break;
            default:
                c1FlexGrid1.Cols.ComboList = "";
                break;
      }
    }
}
2、修改列的Editor控件为ComboBox,,切换行的时候修改列的ComboBox的Items(也可以使用数据绑定模式)
private ComboBox comboBox = new ComboBox();

private void Form1_Load(object sender, EventArgs e)
{
    c1FlexGrid1.Cols.Editor = comboBox;
}

private void c1FlexGrid1_SelChange(object sender, EventArgs e)
{
    if (c1FlexGrid1.Col == 1)
    {
      comboBox.Items.Clear();
      
      switch (c1FlexGrid1.Row)
      {
            case 1:
                comboBox.Items.AddRange(new[] { "红色", "蓝色", "白色" });
                break;
            case 2:
                comboBox.Items.AddRange(new[] { "紫色", "绿色", "橙色" });
                break;
            default:
                break;
      }
    }
}

Richard.Ma 发表于 2024-11-22 11:33:21

:hjyzw:

百里叶扬 发表于 7 天前

一路向东 发表于 2024-11-21 22:36
可以,有两种方法:

1、继续用ComboList,切换行的时候修改列的ComboList内容


谢谢,我现在用的就是第一种,在RowColChange事件中,根据物品的重新Fg.Cols(1).ComboList

Richard.Ma 发表于 5 天前

那这个帖子就结贴了
页: [1]
查看完整版本: c1flexgrid的ComboList,可以对同一列的每一行设置不同的选项吗