且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何给已经有数据的DataTable动态增加一列并赋值

更新时间:2022-08-13 16:17:41

以前手写sql的时代,我们经常用DataTable,自从用Linq后,很少用DataTable这些原始的东东了,近日在开发中遇到一些特殊情况,用户要求临时在显示数据上增加一列(该列是根据业务逻辑动态计算得来的一个数字),想了下,还是直接用DataTable来得方便(当然用List<T>,自己构造T类型也能解决,不过考虑这些需求只是一些临时性的,单独为这些临时性的要求写一个自定义类未免太麻烦)

 

代码不复杂,贴在这里主要是为了留个备份,以后忘了的时候,好方便查找:

 

Code
DataTable _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>