Basically I'm using the ItemSource property of the datagrid to bind a generic list to my datagrid. However I'd really like to change the headings, I tried the following but I get a runtime exception:
dgtest.Columns[1].Header = "edited";
解决方案
You can change it on the ItemDataBound event:
public void yourDataGrid_OnItemDataBound(object s, DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Header)
{
// Change the cell index to the column index you want... I just used 0
e.Item.Cells[0].Text = "Text you want in header.";
}
}
If the grid is already bound you should be able to do:
yourDataGrid.Columns[0].Header = "Text you want in header.";
You are probably getting an error because you are trying to change the text before it is bound.