首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 表格化數據呈現的三種經典方式

     編輯:關於ASP.NET

在 ASP.NET 站點開發中,以表格形式展示數據是極為常見的需求。最傳統的做法莫過於使用 DataGrid 綁定 DataSet,但實際專案中,開發者通常會根據場景靈活選擇三種典型的表格化處理方式。

1. DataGrid 綁定數據源

這是最普及的方式,DataGrid 與 ADO.NET 的無縫綁定確實方便。然而,其預設樣式單一,難以滿足不同專案的視覺風格需求;若要在 DataGrid 中實現個性化渲染,往往需要重寫 Render 方法,開發維護成本極高。

2. XML + XSL 模式

DataSet 綁定 DataGrid 的底層原理其實就是 XML 與 XSL 的轉換。開發者可以完全掌控 XSL 樣式表,設計出任意風格的表格輸出,靈活度極高。下圖展示了一個透過 XSL 渲染的表格範例:

3. 直接繪製 HTML 表格

這種方式看似「笨拙」,但在解決特定性能瓶頸或極度客製化佈局時卻奇效。以下代碼示範如何在後端動態構建上圖所示的表格:

1<table style="WIDTH: 100%; BORDER-COLLAPSE: collapse; HEIGHT: 10px">
 2 <tr>
 3 <td align="center">
 4 <TABLE id="tblContainer" class="MsoNormalTable" style="WIDTH: 380px; BORDER-COLLAPSE: collapse; HEIGHT: 10px"
 5 cellSpacing="0" cellPadding="6" border="1" runat="server" bordercolor="#99cccc">
 6 <tr>
 7 <td colspan="2" align="center">
 8 <P><FONT size="3"><STRONG><FONT face="宋體">綜合管理部人員職務</FONT></STRONG></FONT></P>
 9 </td>
 10 </tr>
 11 <tr>
 12 <td align="center" bgcolor="#003399"><FONT size="2" color="#ffffff"><STRONG>人員姓名</STRONG></FONT></td>
 13 <td align="center" bgcolor="#003399"><FONT size="2" color="#ffffff"><STRONG>部門職務</STRONG></FONT></td>
 14 </tr>
 15 </TABLE>
 16 </td>
 17 </tr>
 18 </table>

後端透過 HtmlTable、HtmlTableRow、HtmlTableCell 等控件動態添加行與儲存格,並將 Label 控件置入儲存格,實現數據的精確佈局。核心邏輯如下:

private void GetTeamMember(string AuditItemID)
{
    // ... 獲取數據 ...
    foreach(PersonRole pr in al)
    {
        HtmlTableCell cell = new HtmlTableCell { Align = "Center" };
        Label lbl = new Label { Text = pr.name, Font = { Size = 9 } };
        cell.Controls.Add(lbl);
        HtmlTableRow row = new HtmlTableRow();
        row.Cells.Add(cell);

        HtmlTableCell cellRole = new HtmlTableCell { Align = "Center" };
        Label lblRole = new Label { Text = pr.role, Font = { Size = 9 } };
        cellRole.Controls.Add(lblRole);
        row.Cells.Add(cellRole);

        tblContainer.Rows.Add(row);
    }
}

總結

三種方式各有優劣:DataGrid 開發快但難客製化;XML+XSL 風格可控但需 XSLT 基礎;直接繪製 HTML 最靈活、性能最優,適合高度定製或大數據量場景。實際專案中常混合使用,關鍵在於根據業務場景做權衡。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved