间距复选框列表标签
spacing checkboxlist label
我正在尝试动态创建一个外观非常具体的复选框列表。
这段代码正确添加了复选框列表,但是间距全错了:
foreach (string s in fieldTypes)
{
dt = sqlDataLayer.getInterpretationField(Guid.Parse(id), s);
CheckBoxList cbl = new CheckBoxList();
foreach (DataRow dr in dt.Rows)
{
string fieldName = dr["fieldName"].ToString();
string displayName = dr["displayName"].ToString();
string spacer = "";
int length = fieldName.Length + displayName.Length;
length = 50 - length;
for (int i = 0; i < length; i++)
{
spacer += " ";
}
cbl.Items.Add(new ListItem(fieldName+spacer+displayName));
}
dvContent.Controls.Add(cbl);
break; //This is just because I just wanna test one loop.. I'll remove it later
}
想要的结果:
[ ] Test Test
[ ] LongerTest Test
[ ] MuchLongerTest LongerTest
我得到的是:
[ ] Test Test
[ ] LongerTest Test //These aren't the exact values and lengths,
[ ] MuchLongerTest LongerTest //but it's roughly my result.
如何正确设置间距?有什么方法可以添加带有两个标签的 ListItem 吗?其他一些方法?
有两种解决方案:
您可以编写一个继承自 CheckBoxList 的控件并定义覆盖 RenderControl 的布局
将 CheckBoxList 替换为 Gridview/Repeater 并使用列,或者使用多个 CheckBoxes 并将它们放入所需的结构中。
我正在尝试动态创建一个外观非常具体的复选框列表。 这段代码正确添加了复选框列表,但是间距全错了:
foreach (string s in fieldTypes)
{
dt = sqlDataLayer.getInterpretationField(Guid.Parse(id), s);
CheckBoxList cbl = new CheckBoxList();
foreach (DataRow dr in dt.Rows)
{
string fieldName = dr["fieldName"].ToString();
string displayName = dr["displayName"].ToString();
string spacer = "";
int length = fieldName.Length + displayName.Length;
length = 50 - length;
for (int i = 0; i < length; i++)
{
spacer += " ";
}
cbl.Items.Add(new ListItem(fieldName+spacer+displayName));
}
dvContent.Controls.Add(cbl);
break; //This is just because I just wanna test one loop.. I'll remove it later
}
想要的结果:
[ ] Test Test
[ ] LongerTest Test
[ ] MuchLongerTest LongerTest
我得到的是:
[ ] Test Test
[ ] LongerTest Test //These aren't the exact values and lengths,
[ ] MuchLongerTest LongerTest //but it's roughly my result.
如何正确设置间距?有什么方法可以添加带有两个标签的 ListItem 吗?其他一些方法?
有两种解决方案:
您可以编写一个继承自 CheckBoxList 的控件并定义覆盖 RenderControl 的布局
将 CheckBoxList 替换为 Gridview/Repeater 并使用列,或者使用多个 CheckBoxes 并将它们放入所需的结构中。