Bharathi
Bharathi

Reputation: 1545

How to remove or hide particular column in a datatable?

I am using C#. I want to hide or remove the column from DataTable or DataSet . I attach my partial code:

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

Upvotes: 10

Views: 44073

Answers (5)

Prins Alvino
Prins Alvino

Reputation: 47

for hiding can use

dt.Columns["ColumnName"].ColumnMapping = MappingType.Hidden;

for showing

dt.Columns["ColumnName"].ColumnMapping = MappingType.Element;

Upvotes: 0

Rakesh Rao M
Rakesh Rao M

Reputation: 41

To hide and show try this:

For hiding:

dt.Columns[ColumnIndex].Visible = false; 

or:

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

For showing:

dt.Columns[ColumnIndex].Visible = true;  

or:

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

For removing:

dt.Columns.RemoveAt(ColumnIndex);

or:

dt.Columns.Remove("ColumnName");

Upvotes: -4

nuwancy
nuwancy

Reputation: 391

As Pranay says you can remove columns as myTable.Columns.Remove("columnName");

But in my case it throws an exception as "Cannot remove this column, because it is part of the parent key for relationship"

I was able to overcome it as below.

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

Hope this will help someone

Upvotes: 1

KaeL
KaeL

Reputation: 3659

Use Visible property to hide the specific column:

dt.Columns[0].Visible= false;

Upvotes: -3

Pranay Rana
Pranay Rana

Reputation: 176956

try this

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

Upvotes: 21

Related Questions