方案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;"); } }