【问题标题】:How to again recheck the checkbox after deleting some item on btn click?删除按钮单击上的某些项目后如何再次选中复选框?
【发布时间】:2012-03-02 14:24:04
【问题描述】:

我有一个数据列表,我有一个复选框,我正在使用 jquery 在客户端选择复选框,基于该复选框选择我正在删除该项目,很少有项目没有被删除,因为在其他一些表中有一个实例,未删除的项目我想将复选框显示为检查和错误消息显示无法删除所选项目。

删除项目后,我得到了未删除的项目 ID,但如何根据该 ID 再次选中复选框。

关于已删除的 btn

  foreach (DataListItem dl in dltlist1.Items)
        {
            if ((((CheckBox)dl.FindControl("Chkbox")).Checked))
            {
                ImageButton img = (dl.FindControl("btn1") as ImageButton);
                string[] str = img.CommandArgument.ToString().Split(';');
                Id = Convert.ToInt32(str[0]);
                IdList.Add(Id);
            }
        }
List<Tuple<int, int>> x = objBAL.Delete(IdList);
Tuple<int, int> temp = new Tuple<int, int>(item.Key, 1); // I am getting here non deleted key

删除项目后,我再次绑定数据列表。

请有人帮我怎么做?

【问题讨论】:

    标签: c# asp.net datalist


    【解决方案1】:

    重新绑定 DataList 后,您可以循环遍历 DataList 项并将未删除的键与 DataKey 匹配,如果找到匹配项,则可以重新选中复选框。

    示例:

             //here ArrayList contains the ids to match
             ArrayList a=new ArrayList();
             a.Add(201105);
             a.Add(201106);
             //loop through the items in the datalist
             for (int i = 0; i < DataList1.Items.Count;i++ )
             {
                 //check if the list contains the items 
                 if (a.Contains(Convert.ToInt32(DataList1.DataKeys[i])))
                 {
                     (DataList1.Items[i].FindControl("CheckBox1") as CheckBox).Checked = true;
                 }
             }
    

    任何具有 .Contains() 方法的集合或泛型都适用于此。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-22
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 2013-06-06
      • 2020-11-23
      • 1970-01-01
      相关资源
      最近更新 更多