How to rename the datatable column name without losing the data?

后端 未结 4 963
借酒劲吻你
借酒劲吻你 2021-01-12 17:41

Q:

I want to rename my data table column names .

I tried this :

dt.Columns[8].ColumnName = \"regnum\";

dt.AcceptChanges();
<
相关标签:
4条回答
  • 2021-01-12 18:21

    Try this:

     dataTable.Columns["ExistingColumnName"].ColumnName = "regnum";
    
    0 讨论(0)
  • 2021-01-12 18:23
    dt.Columns[8].ColumnName = "regnum";
    

    This just binds your Columns[8] to the non-existing "regnum" column in the Db.

    If you want to rename the actuals Db column, execute an SQL script.

    But my guess is you actually want to change the Caption:

      dt.Columns[8].Caption = "regnum";
    
    0 讨论(0)
  • 2021-01-12 18:41

    Following is the example:

    DataTable Dt = new DataTable();
    DataColumn Dc = new DataColumn("Name");
    DataColumn Dc1 = new DataColumn("ID");
    Dt.Columns.Add(Dc);
    Dt.Columns.Add(Dc1);
    
    DataRow dr = Dt.NewRow();
    dr["name"] = "1";
    dr["ID"] = "111";
    Dt.Rows.Add(dr);
    
    dr = Dt.NewRow();
    dr["name"] = "2";
    dr["ID"] = "11112";
    Dt.Rows.Add(dr);
    
    Dt.Columns[0].ColumnName = "ddsxsd";
    Dt.AcceptChanges();
    

    I did not find any data loss!!!!!!!! Because it will merely change the column name.

    EDIT

    You can also bring your desired column names from your Stored Procedures.

    0 讨论(0)
  • 2021-01-12 18:45

    Also may this code serve someone! I have a realize that this is the easiest way just like @Henk said:

    using (SqlDataAdapter da = new SqlDataAdapter())
                        {
                            DataTable dt = new DataTable();
                            cmd.CommandType = CommandType.Text;
                            cmd.Connection = con;
                            da.SelectCommand = cmd;
                            da.Fill(dt);
                            dt.Columns[0].ColumnName = "Item NO";
                            dt.Columns[1].ColumnName = "LocalCode";                       
                            dt.Columns[2].ColumnName = "Currency";
                            dt.Columns[3].ColumnName = "Menu Flag";
                            dt.Columns[4].ColumnName = "Item Class";
                            dt.Columns[4].ColumnName = "Dress Sort";
                            return dt;
                        }
    
    0 讨论(0)
提交回复
热议问题