日期:2014-05-18  浏览次数:20438 次

datatable如何操作合并相关内容?
现有以项目 利用数据做成图表 

例如 表一 结构如下

日期 数据
1 a
3 b
5 c


表二 

日期
1
2
3
4
5


现在用的数据生成的图是用表一的 但是需求要日期为连续的 所以又从后台把连续的日期取到前端
请高手帮忙看看 表一里面没有的日期 数据用0来占位 请高手帮忙支招 分送上

谢谢了
日期 数据
1 a
2 0
3 b
4 0
5 c


------解决方案--------------------
C# code

    #region Join
    /// <summary>
    /// 连接表
    /// </summary>
    /// <param name="dt">将要被连接的表</param>
    /// <param name="col">主键字段</param>
    /// <param name="dt2">带有主键的表</param>
    /// <param name="insertAt">插入到的位置,-1不需要插入</param>
    /// <param name="cols">连接的字段</param>
    public static DataTable Join(this DataTable dt, string col, DataTable dt2, int insertAt, params string[] cols) {
        foreach (var it in cols) {
            var c = dt.Columns.Add(it, dt2.Columns[it].DataType);
            if (insertAt >= 0) c.SetOrdinal(insertAt++);
        }
        foreach (DataRow row in dt.Rows) {
            var row2 = dt2.Find(row[col]);
            if (row2 == null) continue;
            cols.For(it => row[it] = row2[it]);
        }
        return dt;
    }
    #endregion