CheckBoxList动态绑定数据按需换行

来源:互联网 发布:淘宝凡兔的模特叫什么 编辑:程序博客网 时间:2024/05/08 12:18
    /// <summary>    /// 填充空标签    /// (根据标签类别分组,根据每行的数量填充相应的空标签以达到根据标签关系分行的目的)    /// </summary>    /// <param name="tagList"></param>    /// <param name="repeatColumns"></param>    private void FillEmptyTag(List<tags> tagList, int repeatColumns)    {        var list = tagList.GroupBy(x => x.tagTypeId)            .Select(y => (new { tagTypeId = y.Key, count = y.Count() })).ToList();        int index = 0; // 插入空标签的索引        foreach (var item in list)        {            index += item.count;            // 算出空标签的数量            int count = repeatColumns - item.count % repeatColumns;            if (count > 0 && count != repeatColumns)            {                for (int i = 0; i < count; i++)                {                    // 初始化空标签                    tags emptyTag = new tags();                    emptyTag.tagId = "0";                    emptyTag.name = string.Empty;                    tagList.Insert(index + i, emptyTag);                }                // 插入空标签之后,更新index                index += count;            }        }    }    /// <summary>    /// 隐藏CheckBoxList控件中的空标签    /// </summary>    /// <param name="chkl"></param>    private void HideEmptyTag(CheckBoxList chkl)    {        foreach (ListItem li in chkl.Items)        {            if ("0".Equals(li.Value))            {                li.Selected = false;                li.Attributes.Add("style", "visibility:hidden");            }        }    }
动态绑定“标签”,要按照标签类别换行,可以在绑定的数据中插入相应的空数据,然后隐藏空数据,就可以实现换行的效果
0 0