2011-09-27 19 views
5

Tengo un GridView en mi página web cuyo DataSource es una DataTable que se llena en tiempo de ejecución. La propiedad AllowSorting de GridView es True. Implementé correctamente la clasificación manual para este GridView.Clasificación de Gridview cuando el texto del encabezado cambió en el evento RowDataBound

Pero tuve que traducir la página web a otros idiomas para los cuales utilicé archivos de recursos locales. Cambié el texto del encabezado de las columnas GridView en el evento RowDataBound. Desde entonces no puedo ordenar GridView.

 protected void GVSummaryTable_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.Cells.Count > 0) 
    { 
     //Translate header text 
     if (e.Row.RowType == DataControlRowType.Header) 
     { 
      e.Row.Cells[0].Text = GetLocalResourceObject("GVSummaryTableName").ToString(); 
      e.Row.Cells[1].Text = GetLocalResourceObject("GVSummaryTableLoginLevel").ToString(); 
      e.Row.Cells[2].Text = GetLocalResourceObject("GVSummaryTableLoginID").ToString(); 
      e.Row.Cells[4].Text = GetLocalResourceObject("GVSummaryTableDate").ToString(); 

     } 

    } 

} 

¿Qué debo hacer para permitir la clasificación de las columnas? Cualquier ayuda sería apreciada. ¡Gracias!

Respuesta

7

Cambiar el código a continuación resuelto el problema:

  if (e.Row.RowType == DataControlRowType.Header) 
     { 
      LinkButton LnkHeaderText = e.Row.Cells[1].Controls[0] as LinkButton; 
      LnkHeaderText.Text = "Name"; 
     } 
+0

cuál es el motivo por el que necesitamos cambiarlo a un botón de enlace –

0

No estoy seguro de si el problema está relacionado con el texto del encabezado ya que la clasificación se hace normalmente con Ordenar expresión. Por favor, asegúrese de que también está dando un valor a esta propiedad al hacer la clasificación. ¡Espero que esto ayude!

+0

en tiempo de ejecución de la cabecera va a cambiar en sí a un botón de enlace cuando se añade un atributo de expresión de ordenación. pero cuando cambiamos el texto del encabezado dinámicamente, cambia a texto, por lo que también tenemos que cambiarlo dinámicamente a un botón de enlace. –

Cuestiones relacionadas