DataTable中添加一列序号

        /// <summary>
        /// 添加一列序号
        /// </summary>
        /// <param name="dt">需要添加序号列的表</param>
        /// <returns>DataTabel</returns>
        private DataTable AddCol( DataTable dt)
        {
                DataTable dtR;   //返回值
                DataColumn dtNewCol = new DataColumn("Id", typeof(string)); //创建ID列
                dt.Columns.Add(dtNewCol);
                dt.Columns["Id"].SetOrdinal(0);
                dtR= dt;
                int dtc = dtR.Rows.Count;    //dtc  行数
                for (int i = 0; i < dtc; i++)
                {
                    dtE.Rows[i]["Id"] = (i + 1).ToString();
                }
            return dtR;
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
假设四个 DataTable 分别为 A、B、C、D,它们都有一个名为 "序号" 的,且需要合并的名为 "相关数据"。 以下是一个示例代码,可以将相同序号的数据合并成一行,并输出到一个新的 DataTable: ```csharp // 创建一个新的 DataTable 用于存储合并后的数据 DataTable mergedTable = new DataTable(); // 添加 mergedTable.Columns.Add("序号"); // 添加相关数据 for (int i = 0; i < 4; i++) { mergedTable.Columns.Add($"相关数据{i + 1}"); } // 遍历 A 表的每一行数据 foreach (DataRow rowA in A.Rows) { // 从 A 表获取序号 string sequenceNumber = rowA["序号"].ToString(); // 创建一个新的 DataRow,用于存储合并后的数据 DataRow mergedRow = mergedTable.NewRow(); mergedRow["序号"] = sequenceNumber; // 遍历 B、C、D 表的每一行数据 for (int i = 0; i < 3; i++) { DataTable currentTable = i switch { 0 => B, 1 => C, 2 => D }; // 在当前表查找序号与 A 表相同的行 DataRow[] matchingRows = currentTable.Select($"序号 = '{sequenceNumber}'"); // 如果找到了匹配的行,则将相关数据添加到 mergedRow if (matchingRows.Length > 0) { mergedRow[$"相关数据{i + 1}"] = matchingRows[0]["相关数据"]; } } // 将合并后的行添加到 mergedTable mergedTable.Rows.Add(mergedRow); } ``` 需要注意的是,上述代码假设 B、C、D 表的相关数据名都为 "相关数据",如果名不同,则需要将代码的 $"相关数据{i + 1}" 修改为实际的名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值