编程语言
首页 > 编程语言> > c#給DataTable數據添加一列序號

c#給DataTable數據添加一列序號

作者:互联网

使用過,記録下來,方便下次使用.

    `//針對合併的DT增加一列序號
    private DataTable AddSeriNumToDataTable(DataTable dt)
    {
        //需要返回的值 
        DataTable dtNew;
        if (dt.Columns.IndexOf("INDEX") >= 0)//判断是否存在index序号列
        {
            dtNew = dt;
        }
        else //添加一序号列,并且在第一列 
        {
            int rowLength = dt.Rows.Count;//行数
            int colLength = dt.Columns.Count;//列数
            DataRow[] newRows = new DataRow[rowLength];//创建行集合

            dtNew = new DataTable();
            //在第一列添加“序号”列 
            dtNew.Columns.Add("INDEX");//添加序号列
            for (int i = 0; i < colLength; i++)//循环列
            {
                dtNew.Columns.Add(dt.Columns[i].ColumnName);//为新表格添加列
                //复制dt中的数据 
                for (int j = 0; j < rowLength; j++)//循环行
                {

                    if (newRows[j] == null)
                        newRows[j] = dtNew.NewRow();
                    //将其他数据填充到第二列之后,因为第一列为新增的序号列 
                    newRows[j][i + 1] = dt.Rows[j][i];
                }
            }
            foreach (DataRow row in newRows)
            {
                dtNew.Rows.Add(row);
            }
        }
        //对序号列填充,从1递增 
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            dtNew.Rows[i]["INDEX"] = i + 1;
        }

        return dtNew;

    }`

标签:數據,Rows,newRows,c#,序號,int,dtNew,dt,Columns
来源: https://www.cnblogs.com/qiuyublog/p/16312223.html