ASP.Net:Table类的使用
在做Asp.Net的时候,很多情况下数据的绑定都是使用GridView或者我之前提到的ListView,但是这两个适合用于数据的绑定,而有些时候,数据需要在后台进行处理,例如数据据内地某一条数据的特殊样式等等,当然也可以在绑定的时候处理,可是那些需要汇总的,和需要表格合并的,在操作起来可能就有一些麻烦了。所以asp:Table可以解决这些。
注意:这里讲的是标准的table控件,不是html里的table:
前台只要拖一个Table控件给一个ID就可以了,我们的操作都可以在后台进行。
<asp:Table ID="table" runat="server" BorderColor="#000000" BorderStyle="Solid" BorderWidth="0px" Caption="表格的标题" CellPadding="0" CellSpacing="0" Font-Bold="False" Font-Italic="False" Font-Overline="False" Font-Size="30px" Font-Strikeout="False" Font-Underline="False" Width="980px"> </asp:Table>
这里的Table是一个控件,可以在后台对改表格进行行列的操作。
添加一行使用的是TableRow类,这个类相当于HTML标准中table标签内部的tr标签,如果要添加一行,我们可以这样写:
TableRow headUpTr = new TableRow(); table.Rows.Add(headUpTr)
这样就在table中添加了一行。
在一行中添加一列的话方法同上,使用的是TableCell,同理,这个类也相当于HTML中的td标签。Table、TableRow、TableCell三个类组成了一个完整的表格。
TableCell td = new TableCell(); headUpTr.Cells.Add(td);
TableCell的相关属性可以更改表格的样式,在对数据的结果集筛选的时候可以根据不同的值在循环输出中对表格进行个性化的设置。
最常用的TableCell属性有:
ColumnSpan;用于列RowSpan;用于跨行Text;用于写字符串Controls.Add();方法则是像单元格中输出控件用的。Attributes.Add();这个则是给单元格增加属性的,增加html标签支持的属性,例如Style、Align等等。 |
有些时候会遇到很多重用的情况,所以我会将一些操作写成一个方法,以方便调用,例如:
1 private void addtr(ref TableRow tr, string data, int colspan, int rowspan, string align, int width, string fontsize, int height,string style) 2 { 3 TableCell td = new TableCell(); 4 td.Width = width; 5 td.Attributes.Add("align", align); 6 td.Attributes.Add("style", fontsize); 7 td.CssClass = style; 8 td.ColumnSpan = colspan; 9 if (height != 20) 10 { 11 td.Height = height; 12 } 13 td.RowSpan = rowspan; 14 td.Text = data.ToString(); 15 tr.Cells.Add(td); 16 }
我想应该还会有更简单且更有效率的方法,但是目前我的能力有限,还是只能找到这样的方式。虽然不是很高深的东西,但是对于初学者来说,或许会有一些帮助的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App