Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在TableCell()中的单元格之间添加空间_C#_Asp.net - Fatal编程技术网

C# 在TableCell()中的单元格之间添加空间

C# 在TableCell()中的单元格之间添加空间,c#,asp.net,C#,Asp.net,我的代码如下。我想在tableCell中的单元格之间添加空间 相当于 <td></td>&nbsp;&nbsp;<td></td> 我不是在寻找单元格填充或单元格间距,因为它们都在左侧单元格边框和左侧表格边框墙之间添加了空间;我想在两个单元格之间添加空间,而不是表格和单元格 protected void Page_Init(object sender, EventArgs e) { Table tb = new Table

我的代码如下。我想在tableCell中的单元格之间添加空间 相当于

<td></td>&nbsp;&nbsp;<td></td>
我不是在寻找单元格填充或单元格间距,因为它们都在左侧单元格边框和左侧表格边框墙之间添加了空间;我想在两个单元格之间添加空间,而不是表格和单元格

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);
}

有什么想法吗?

您可以随时使用添加所需的空单元格。

您可以随时使用添加所需的空单元格。

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

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


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

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

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


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

当您准备添加两个具有此间距的单元格时,请创建一个表格;一排两个td,类似:

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

当您准备添加两个具有此间距的单元格时,请创建一个表格;一排两个td,类似:

<table cellspacing="2"><tr><td>stuff</td><td>more stuff></td></tr></table>
试试这个:

 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);
试试这个:

 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);

将左边距应用于表格的td,但每行的最后一个除外。 您可以通过指定一个公共类或应用一个仅将边距重置为最后一个td的类来完成此操作


您可以使用jQuery或注入边距,但仅通过css这样做更干净。

将左边距应用于表的td,但每行的最后一个除外。 您可以通过指定一个公共类或应用一个仅将边距重置为最后一个td的类来完成此操作

您也可以使用jQuery和注入边距,但仅通过css这样做更干净。

*edit

我为页边空白道歉,我认为页边空白是不可能的,但是我能够创建一个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将使用

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

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

希望这有帮助。如果我找到其他内容,将发布。

*edit

我为页边空白道歉,我认为页边空白是不可能的,但是我能够创建一个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将使用

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

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


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

另一种可能是,我修改了您的代码并添加了一个标签,您可以将该标签添加到每个tc.Controls.Addtbox

    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); 
}

另一种可能是,我修改了您的代码并添加了一个标签,您可以将该标签添加到每个tc.Controls.Addtbox

    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); 
}

听起来你在寻找精确的单元格间距……但是单元格间距在左单元格的左边框和左表之间增加了空间。我不想那样;请看下面我的答案,尝试添加一个具有单元格间距的子表听起来像是在寻找精确的单元格间距……但单元格间距会在左单元格的左边框和左表之间添加空间。我不想那样;请参见下面我的答案尝试添加一个子表和单元格间距可以将其转换为codebehind语法,就像我有我的示例代码一样吗?问题是我似乎无法补充
my tc.Controls.Addtbox的html脚本;语法你能像我的示例代码一样将其转换成codebehind语法吗?问题是我似乎无法将html脚本添加到我的tc.Controls.Addtbox;syntax您能提供一个我可以在codebehind块中使用的示例语法吗?@user279521很抱歉回复太长,我出去吃午饭了。如果您转到,他们会解释表中的不同元素。还可以让您全面了解表格设计。我将很快发布一个代码作为示例。你能提供一个我可以在codebehind block中使用的示例语法吗?@user279521很抱歉回复太长,我出去吃午饭了。如果您转到,他们会解释表中的不同元素。还可以让您全面了解表格设计。我将很快发布一个代码作为示例。您提供的代码在单元格和表之间添加了填充。不是我想要的;对不起,你是对的,我已经用正确的答案编辑了这篇文章,请检查你提供的代码,在单元格和表格之间添加空格。不是我想要的;对不起,你是对的,我已经用正确的答案编辑了这篇文章,请检查一下