以前手写sql的时代,我们经常用DataTable,自从用Linq后,很少用DataTable这些原始的东东了,近日在开发中遇到一些特殊情况,用户要求临时在显示数据上增加一列(该列是根据业务逻辑动态计算得来的一个数字),想了下,还是直接用DataTable来得方便(当然用List<T>,自己构造T类型也能解决,不过考虑这些需求只是一些临时性的,单独为这些临时性的要求写一个自定义类未免太麻烦)
代码不复杂,贴在这里主要是为了留个备份,以后忘了的时候,好方便查找:
CodeDataTable _tbl = new DataTable(); _tbl.Columns.Add("F_Name", Type.GetType("System.String")); _tbl.Columns.Add("F_Age", Type.GetType("System.Int32")); _tbl.Rows.Add(new object[] { "aaa", 1 }); _tbl.Rows.Add(new object[] { "bbb", 2 }); _tbl.Columns.Add("F_Time", Type.GetType("System.DateTime")); for (int i = 0; i < _tbl.Rows.Count; i++) { _tbl.Rows[i][_tbl.Columns.Count - 1] = DateTime.Parse("2008-1-1"); } this.Repeater1.DataSource = _tbl;this.Repeater1.DataBind();
前台绑定:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<li><%# Eval("F_Name") + "," + Eval("F_Age") + "," + Eval("F_Time")%></li>
</ItemTemplate>
</asp:Repeater>
时间: 2024-10-22 00:22:37