我是一名新的ASP.NET开发人员。我需要在每行中创建一个包含不同数量单元格的表,那么如何在C#中执行此操作?
我搜索了它,但我无法找到有关此问题的明确有用资源。
答案 0 :(得分:1)
以下是我在其中一个项目中所做的事情:
private void AddBalancingLine(String balDescription, Decimal balAmount)
{
TableRow tr = new TableRow();
tr.Height = Unit.Pixel(17);
tblDetailLines.Rows.Add(tr);
tr.Cells.Add(newCell(""));
tr.Cells.Add(newCell(""));
tr.Cells.Add(newCell(""));
tr.Cells.Add(newCell(balDescription, HorizontalAlign.Left, "normalFont", 8));
tr.Cells.Add(newCell(nullAmount(balAmount), HorizontalAlign.Right, "normalFont", 2));
}
tblDetailLines
是要添加行的System.Web.UI.WebControls.Table
。 newCell
函数重载了多个签名,具体取决于您要如何创建单元格:
private TableCell newCell(String cellText)
{
return newCell(cellText, HorizontalAlign.Right, "normalFont");
}
private TableCell newCell(String cellText, HorizontalAlign alignment, String cssClass)
{
return newCell(cellText, alignment, cssClass, 1);
}
private TableCell newCell(String cellText, HorizontalAlign alignment, String cssClass, Int32 colSpan)
{
TableCell tc = new TableCell();
tc.Text = cellText;
tc.HorizontalAlign = alignment;
tc.VerticalAlign = VerticalAlign.Top;
tc.CssClass = cssClass;
tc.ColumnSpan = colSpan;
return tc;
}
最后一个newCell
方法是在main函数中最后两次调用tr.Cells.Add时使用的方法 - 这个方法允许您为单元格指定ColumnSpan。该表有13列:
总计13列。
在创建不同的行时调整colSpan参数以获得不同的布局。
(对于非常敏锐的人来说,nullAmount
函数会格式化余额金额,从而抑制0金额。)
答案 1 :(得分:0)
你可以为你的单元格指定colspan,我写了一个小例子来向你展示如何获得一个包含2行的表,第一行包含2个单元格,第二个包含4个单元格:
Dim table As new Table 'Here is your table defined in markup, i declared to show an example
Dim row1 As new tablerow
Dim row2 As new tablerow
Dim cel1 As new TableCell With {.Text="row1 cel 1"}
Dim cel2 As new TableCell With {.Text="row1 cel 2"}
Dim cel3 As new TableCell With {.Text="row2 cel 1"}
Dim cel4 As new TableCell With {.Text="row2 cel 2"}
Dim cel5 As new TableCell With {.Text="row2 cel 3"}
Dim cel6 As new TableCell With {.Text="row2 cel 4"}
cel1.ColumnSpan=2
cel2.ColumnSpan=2
row1.Cells.AddRange({cel1,cel2})
row2.Cells.AddRange({cel3,cel4,cel5,cel6})
table.Rows.AddRange({row1,row2})