如何删除或隐藏数据表中的特定列?

时间:2012-11-16 12:39:47

标签: c#

我正在使用C#。我想隐藏或删除DataTable或DataSet中的列。我附上我的部分代码:

DataTable dt = new DataTable();
DataView dv = new DataView();
dv = (DataView)Session["map_hi"];
dt = dv.ToTable();
dt.Columns[0].ColumnMapping = MappingType.Hidden;
dt.AcceptChanges();

4 个答案:

答案 0 :(得分:14)

试试这个

   DataTable t;
   t.Columns.Remove("columnName");
   t.Columns.RemoveAt(columnIndex);

答案 1 :(得分:0)

隐藏并显示试试这个:

隐藏:

dt.Columns[ColumnIndex].Visible = false; 

或:

dt.Columns["ColumnName"].Visible = false;

用于展示:

dt.Columns[ColumnIndex].Visible = true;  

或:

dt.Columns["ColumnName"].Visible = true;

答案 2 :(得分:0)

如Pranay所说,您可以将列删除为myTable.Columns.Remove("columnName");

但是在我的情况下,它引发了一个异常,例如“无法删除此列,因为它是关系的父键的一部分”

我能够如下克服它。

  myTable.ParentRelations.Clear();
  myTable.ChildRelations.Clear();
  myTable.Constraints.Clear();
  myTable.Columns.Remove("columnName"); 

希望这会对某人有所帮助

答案 3 :(得分:-1)

使用Visible属性隐藏特定列:

dt.Columns[0].Visible= false;