您的位置:首页 > 其它

CheckBoxList动态绑定数据按需换行

2015-08-12 15:04 501 查看
/// <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");
}
}
}
动态绑定“标签”,要按照标签类别换行,可以在绑定的数据中插入相应的空数据,然后隐藏空数据,就可以实现换行的效果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: