用户
 找回密码
 立即注册

2

主题

11

帖子

370

积分

中级会员

Rank: 3Rank: 3

积分
370
发表于 2021-7-27 17:43:07
  1. string[] strMenu = this.lb_menus.Text.Split(',');

  2.                 PopListGroup grpSel = new PopListGroup();
  3.                 for (int i = 0; i < dt_group.Rows.Count; i++)
  4.                 {
  5.                     PopListGroup grpContainer = new PopListGroup();
  6.                     grpContainer.TitleVisible = true;
  7.                     grpContainer.Title = dt_group.Rows[i]["groupname"].ToString();
  8.                     DataRow[] dri = dt_menus.Select(string.Format("groupname='{0}'", dt_group.Rows[i]["groupname"].ToString()));
  9.                     for (int j = 0; j < dri.Length; j++)
  10.                     {
  11.                         PopListItem ivi = new PopListItem();
  12.                         ivi.Value = dri[j]["id"].ToString();
  13.                         ivi.Text = dri[j]["itemText"].ToString();
  14.                         grpContainer.Items.Add(ivi);

  15.                         if (strMenu.Contains(ivi.Value))
  16.                         {
  17.                             grpSel.Items.Add(ivi);
  18.                         }
  19.                     }
  20.                     popList1.Groups.Add(grpContainer);
  21.                 }
  22.                 //popList1.SetSelections((PopListItem[])grpSel.Items);

  23.                 foreach (PopListItem item in grpSel.Items)
  24.                 {
  25.                     popList1.SetSelections(item);
  26.                 }
  27.                 popList1.ShowDialog();
复制代码
通过这种方式设置默认选择后,再点已选的项无法取消选择


分享至 : QQ空间
0 人收藏
使用道具 举报 回复
Lula.Jin 发表于 2021-8-3 16:13
我们这边使用最新的deisgner 和客户端测试并没有出现你说的问题,请问使用的designer和客户端是否为最新版 ...

换了最新版本的designer,还是一样,客户端还没更新
使用道具 举报 回复 支持 反对
Lula.Jin 发表于 2021-8-5 16:46
我们用的是6.3.1的安卓客户端测试的,你可以下载试试看

使用最新版本也不行。 代码里设置启动时默认的一些已选项无法取消选择,未选择默认选择部分是可以正常勾选与取消,你们测试时是不是在加载时默认选择?
使用道具 举报 回复 支持 反对
发表于 2021-8-10 14:09:37
本帖最后由 feitianchong 于 2021-8-10 14:11 编辑
Lula.Jin 发表于 2021-8-9 09:45
是的,测试代码,

或者你提供一个可以运行并能出现错误的demo 给我们试试 ...

        private void UserMenu_Load(object sender, EventArgs e)
        {
           // SearchData();


            string[] strMenu = { "11","22","33" ,"44"};

            PopListGroup grpSel = new PopListGroup();
            for (int i = 0; i < 5; i++)
            {
                PopListGroup grpContainer = new PopListGroup();
                grpContainer.TitleVisible = true;
                grpContainer.Title ="Title"+ i.ToString();
                for (int j = 0; j < 5; j++)
                {
                    PopListItem ivi = new PopListItem();
                    ivi.Value = i.ToString()+j.ToString();
                    ivi.Text = j.ToString();
                    grpContainer.Items.Add(ivi);
                    if (strMenu.Contains(ivi.Value))
                    {
                        grpSel.Items.Add(ivi);
                    }
                }
                popList1.Groups.Add(grpContainer);
            }

            popList1.ClearSelection();
            foreach (PopListItem item in grpSel.Items)
            {
                popList1.SetSelections(item);
            }
            popList1.ShowDialog();
        }

使用道具 举报 回复 支持 反对
发表于 2021-8-10 17:26:19
Lula.Jin 发表于 2021-8-10 15:46
目前的解决方是:SetSelections方法的参数请从poplistview.Group中取,
例如 foreach (PopListItem item in ...

谢谢解决了。发现还可以在Groups.Add 之前设置好默认选择就可以了
使用道具 举报 回复 支持 反对
发新帖
您需要登录后才可以回帖 登录 | 立即注册