Como otros ya han señalado, si el título de cabecera, etc se conoce en tiempo de diseño, desactive AutoGeneratedColumns y simplemente establecer el título, etc en la definición de campo en lugar de utilizar columnas generadas automáticamente. A partir de su ejemplo, parece que la consulta es estática y que los títulos se conocen en el momento del diseño, por lo que es probablemente su mejor opción.
Sin embargo [, aunque su pregunta no especifica este requisito] - si el texto de cabecera (y el formato, etc) es no conocido en tiempo de diseño, pero será determinado en tiempo de ejecución y si es necesario para auto generar columnas (usando AutoGenerateColumns = verdadera ") hay soluciones para ello.
una forma de hacerlo es crear una nueva clase de control que hereda el gridview. a continuación, puede establecer la cabecera, el formato, etc para el auto campos generados por anulando el "CreateAutoGeneratedColumn" de gridview. Ejemplo:
//gridview with more formatting options
namespace GridViewCF
{
[ToolboxData("<{0}:GridViewCF runat=server></{0}:GridViewCF>")]
public class GridViewCF : GridView
{
//public Dictionary<string, UserReportField> _fieldProperties = null;
public GridViewCF()
{
}
public List<FieldProperties> FieldProperties
{
get
{
return (List<FieldProperties>)ViewState["FieldProperties"];
}
set
{
ViewState["FieldProperties"] = value;
}
}
protected override AutoGeneratedField CreateAutoGeneratedColumn(AutoGeneratedFieldProperties fieldProperties)
{
AutoGeneratedField field = base.CreateAutoGeneratedColumn(fieldProperties);
StateBag sb = (StateBag)field.GetType()
.InvokeMember("ViewState",
BindingFlags.GetProperty |
BindingFlags.NonPublic |
BindingFlags.Instance,
null, field, new object[] {});
if (FieldProperties != null)
{
FieldProperties fps = FieldProperties.Where(fp => fp.Name == fieldProperties.Name).Single();
if (fps.FormatString != null && fps.FormatString != "")
{
//formatting
sb["DataFormatString"] = "{0:" + fps.FormatString + "}";
field.HtmlEncode = false;
}
//header caption
field.HeaderText = fps.HeaderText;
//alignment
field.ItemStyle.HorizontalAlign = fps.HorizontalAlign;
}
return field;
}
}
[Serializable()]
public class FieldProperties
{
public FieldProperties()
{ }
public FieldProperties(string name, string formatString, string headerText, HorizontalAlign horizontalAlign)
{
Name = name;
FormatString = formatString;
HeaderText = headerText;
HorizontalAlign = horizontalAlign;
}
public string Name { get; set; }
public string FormatString { get; set; }
public string HeaderText { get; set; }
public HorizontalAlign HorizontalAlign { get; set; }
}
}
si _can't check_ entonces no responda _answer_ hasta que pueda _check_ –