Hide Columns in GridView?

  • Thread starter Thread starter Phil Sandler
  • Start date Start date
P

Phil Sandler

Quick question:

Is it possible to use autogeneratecolumns = true and still hide
specific columns based on the column name in the datasource?

Failing that, can it be done by column index?


Thanks,

Phil
 
Hi Phil,

Yes you can, but it's quite *nasty* - you end up with accessing Controls
collection (as you may know, autogenerated fields are not added to the
Columns collection, they are kept in private variable _autoGenFieldProps -
see it for yourself in quick watch window while debuging), Anyway, here's the
mentioned solution:

foreach (TableRow row in list.Controls[0].Controls)
{
row.Cells[IndexOfTheColumnToHide].Visible = false;
}

You can still do it properly, adding columns programatically based on the
datasource (i know it would require a little bit more codding).

Hope this helps
 
Just note that you can catch autogenerated columns in the grid's ItemCreated
event.
 
Back
Top