方案1:
在中直接写宽度,弊端,当单个列的Items宽度都比较窄时,这个列Items就比较窄
<td colspan="4">
<span class="val" style="margin-right: 4px; vertical-align: middle;">
<asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatColumns="8" RepeatDirection="Horizontal"
Width="820px">
</asp:CheckBoxList>
</span>
</td>
public void setdata()
{
string sqlStr = "select * FROM dbo.MM_Readinggroup";
DataSet ds = SqlHelper.ExecuteDataset(SqlHelper.connectionString, CommandType.Text, sqlStr);
CheckBoxList1.Items.Clear();
ListItemCollection item = new ListItemCollection();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string strRootname = ds.Tables[0].Rows[i]["name"].ToString();
string strRootID = ds.Tables[0].Rows[i]["id"].ToString();
CheckBoxList1.Items.Add(new ListItem(strRootname, strRootID));
}
}
方案2:
给每个Items加一个宽度属性:
CheckBoxList1.Items[i].Attributes.Add("style", "display:block;width:120px;float:left;");
<td colspan="4">
<span class="val" style="margin-right: 4px; vertical-align: middle;">
<asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatColumns="8" RepeatDirection="Horizontal">
</asp:CheckBoxList>
</span>
</td>
public void setdata()
{
string sqlStr = "select * FROM dbo.MM_Readinggroup";
DataSet ds = SqlHelper.ExecuteDataset(SqlHelper.connectionString, CommandType.Text, sqlStr);
CheckBoxList1.Items.Clear();
ListItemCollection item = new ListItemCollection();
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
string strRootname = ds.Tables[0].Rows[i]["name"].ToString();
string strRootID = ds.Tables[0].Rows[i]["id"].ToString();
CheckBoxList1.Items.Add(new ListItem(strRootname, strRootID));
CheckBoxList1.Items[i].Attributes.Add("style", "display:block;width:120px;float:left;");
}
}