我在我的代码隐藏文件中为每个用户创建了一个表。我想将每个表添加到面板,以便所有表格都水平显示。表只有1个库存和多行。因此,每个表应添加在上一个表的一侧
我尝试过css样式float:left
,但它没有起作用。
这是我的代码
C#部分:
foreach( DataRow dr in t.Rows )
{
if(........)
{
tdr.Width = "200px";
row = new HtmlTableRow();
cell = new HtmlTableCell();
row = new HtmlTableRow();
cell = new HtmlTableCell();
cell.InnerText = doc;
row.Cells.Add(cell);
tdr.Rows.Add(row);
row = new HtmlTableRow();
cell = new HtmlTableCell();
cell.InnerText = "No Timming";
row.Cells.Add(cell);
tdr.Rows.Add(row);
row = new HtmlTableRow();
cell = new HtmlTableCell();
cell.InnerText = weekday[i];
row.Cells.Add(cell);
tdr.Rows.Add(row);
}
//dr_list is my panel name
//tdr is my table name
this.DR_list.Controls.Add(tdr);
}
CSS部分:
<style>
.float-left
{
float: left;
}
</style>
ASP.NET部分:
<asp:Panel ID="DR_list" runat="server" Direction="LeftToRight" Height="227px"
HorizontalAlign="Left" ScrollBars="Auto" Wrap="False"
CssClass='float-left' Width="1103px" >
</asp:Panel>
答案 0 :(得分:1)
您正在将css float:left
添加到父容器,即您的Panel。
因此你的标记就像:
<div id="DR_list" class="float-left" >
<table width="200px">
//table 1 markup
</table>
<table width="200px" >
//table 2 markup
</table>
</div>
因此它对内心的孩子不起作用
你应该将它添加到各个表格,即
这样做:
假设您的tdr
为System.Web.UI.HtmlControls.HtmlTable
tdr.Attributes.Add("class", "float-left");
这样你的最终标记就像
<div id="DR_list" >
<table width="200px" class="float-left" >
//table 1 markup
</table>
<table width="200px" class="float-left" >
//table 2 markup
</table>
</div>
所以你的实际代码应该是
foreach( DataRow dr in t.Rows )
{
if(........)
{
tdr = new HtmlTable();
tdr.Attributes.Add("class", "float-left");
tdr.Width = "200px";
row = new HtmlTableRow();
cell = new HtmlTableCell();
/////rest of the logic
}
}