我是一名新的ASP.NET開發人員。我需要在每行中創建具有不同數量單元格的表,因此如何在C#中執行此操作?如何以編程方式在每行中以不同數量的單元格創建表格?
我使用Google搜索,但無法找到關於此問題的明確有用資源。
我是一名新的ASP.NET開發人員。我需要在每行中創建具有不同數量單元格的表,因此如何在C#中執行此操作?如何以編程方式在每行中以不同數量的單元格創建表格?
我使用Google搜索,但無法找到關於此問題的明確有用資源。
這是我在我的項目之一做:
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
方法是在最後兩個調用用來tr.Cells.Add的主要功能之一 - 這個可以讓你指定單元格的ColumnSpan。這個表有13列:
總計爲13列。
在創建不同的行以獲得不同的佈局時調整colSpan參數。
(對於非常敏銳,對nullAmount
功能格式化餘額,佔0量的抑制。)
你可以爲你的細胞指定列跨度,我寫了一個小例子來告訴你如何獲得一個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})
您想如何查看結果? – 2011-12-19 19:36:32
需要更多信息。聽起來就像你需要使用中繼器,並在邏輯上構建它,但沒有足夠的數據提供給你正確的評估你的問題。 – Tony 2011-12-19 19:37:09
您可以發佈您想要在表格中顯示的示例數據集嗎?另外,你是否希望較短的行伸展爲與較長的行相同的寬度,或者在較短的行的右側有空白空間? – pseudocoder 2011-12-19 19:42:35