在表格单元格中添加空格BETWEEN单元格()

时间:2010-04-22 14:57:34

标签: c# asp.net

我的代码如下。我想在tableCell()中的单元格之间添加空格

相当于一些东西
<td></td>&nbsp;&nbsp;<td></td>

我不是在寻找cellpadding或cellspacing,因为它们都在左边的单元格边框和左边的边框(墙)之间增加了空间;我想在两个CELLS之间添加空间,而不是表格和单元格;

protected void Page_Init(object sender, EventArgs e)
{
    Table tb = new Table();
    tb.ID = "tb1";

    for (int i = 0; i < iCounter; i++)
    {
        TableRow tr = new TableRow();
        TextBox tbox = new TextBox();
        tbox.ID = i.ToString();

        TableCell tc = new TableCell();
        tc.Controls.Add(tbox);
        tr.Cells.Add(tc);
        tb.Rows.Add(tr);
    }
    pnlScheduler.Controls.Add(tb);
}

有什么想法吗?

7 个答案:

答案 0 :(得分:3)

试试这个:

 TableCell tc = new TableCell();
    HtmlGenericControl div = new HtmlGenericControl("div");
    div.Style.Add("padding-left", "5px");
    div.Style.Add("padding-right", "5px");

    div.Controls.Add(tbox);

    tc.Controls.Add(div);
    tr.Cells.Add(tc);
    tb.Rows.Add(tr);

答案 1 :(得分:1)

*修改

我为边缘道歉,我认为边距不可能,但是我能够创建一个可以应用于中间单元格的CSS,在左侧和右侧给它们填充。

但为了解决第一个和最后一个元素没有推出桌面墙的事实,你必须将类应用于中间的td

css代码示例

table
{
border:1px solid black;
border-collapse: collapse;
table-layout: fixed;
}
td.middle
{
border:1px solid black;
padding-left: 20px;
padding-right: 20px;
}

然后您的中间td将使用<td class="middle"></td>

创建

然而要将这种类型的代码转换为c#,我并不完全确定。我将继续研究如何将此类仅应用于特定元素,但最好的办法是创建一个标记来检查元素以确保它们不是表中的第一个或最后一个,除非您要添加他们手动然后你只需要手动添加类。

但是我可以建议,如果这是用于页面布局,那么最好让css为您完成工作,而不是使用表格设计。但如果以表格形式显示数据然后没关系,我什么也没说。

希望这会有所帮助。如果我发现其他任何内容,我会发布。

答案 2 :(得分:1)

可能是另一种选择(我修改了你的代码并添加了一个标签,你可以为每个“tc.Controls.Add(tbox)”添加替代标签;“

    protected void Page_Init(object sender, EventArgs e) 
{ 
    Table tb = new Table(); 
    tb.ID = "tb1"; 

    for (int i = 0; i < iCounter; i++) 
    { 
        TableRow tr = new TableRow(); 
        TextBox tbox = new TextBox(); 
        TextBox tLabel = new Label();
        tbox.ID = i.ToString(); 

    tLabel.width = 10;

        TableCell tc = new TableCell(); 
        tc.Controls.Add(tbox);
    tc.Controls.Add(tLabel);
        tc.Controls.Add(tbox);
    tc.Controls.Add(tLabel);
        tc.Controls.Add(tbox);
    tc.Controls.Add(tLabel);
        tr.Cells.Add(tc); 
        tb.Rows.Add(tr); 
    } 
    pnlScheduler.Controls.Add(tb); 
}

答案 3 :(得分:0)

你总是可以添加所需的“空”单元格。

答案 4 :(得分:0)

为了在表格单元格之间留出空间,我们必须使用表格的cellpadding和cellspacing属性。

&lt; table cellspacing =“1”cellpadding =“2”&gt; &LT; /表&gt;

&lt; TABLE CELLSPACING =“X”&gt;

行中的X将替换为单元格之间所需的像素数。

&lt; TABLE CELLPADDING =“X”&gt;

行中的X将替换为文本和单元格边缘之间所需的像素数。

答案 5 :(得分:0)

当您准备添加具有此间距的两个单元格时,请创建一个表格;有一行和两个td就像:

<table cellspacing="2"><tr><td>stuff</td><td>more stuff></td></tr></table>

答案 6 :(得分:0)

将左边距应用于表格的td(每行中的最后一个除外)。 您可以通过分配一个公共类,或者通过应用仅将余量重置为最后一个td的类来实现。

您可以使用jQuery并注入边距,但仅通过css执行此操作更清晰。