I am creating a GridView in a method like so:
GridView gridView = new GridView();
gridView.DataSource = reportData.Tables[0];
gridView.DataBind();
I am later exporting it to Excel and it works great. The columns are being auto-generated from my source data. I would like to change the DataFormatString property of some of the columns however after I databind and before I export to Excel. I can’t seem to find the correct property to change. Can anybody point me in the right direction?
According to AutoGenerateColumns documentation:
I tired looking for these
AutoGeneratedFields with no luck.I can think of several options to achieve that (from worst to best):
RowDataBound), this will give you access to the rows’ cells, but isn’t too convenient.Don’t use
AutoGeneratedFieldCreate these columns manually, as in:This options gives you bes control over titles.
List<Employee)), andAutoGeneratedFieldturns them into columns.I think this is the best option. Suppose you could access the auto columns, what then? You’d have to search for a column based on its name or index, which seems very messy, and increases coupling.
And, as a last note, you should think about creating Excel files by using the API. It’s not as easy, but HTML XLS files are less compatible with Excel 2007 – it displays a warning message that the format of the file is incompatible with the extension, and worse, the file brakes if it is opened and saves (can be
Save Asthough), making your files less user-friendly.