Si DataGrid usa paginación, es posible que la última página no sea "página completa", por lo que puede haber problemas con el diseño de DataGrid. Las filas restantes serán demasiado anchas y todo el DataGrid se volverá feo.
Probablemente se puedan considerar soluciones desde tres lugares:
1. Complete las nuevas filas de datos en DataSource.
2. Complete la nueva fila de control en blanco en el DataGrid.
3. Utilice javascript para completar la nueva fila de control html en la página web.
Utilicé el segundo método. En el método de respuesta del evento de procesamiento previo de la cuadrícula de datos, complete la línea en blanco sobre la línea del pie de página. El código es el siguiente:
protected virtual void SpiderSurfGrid_PreRender (remitente del objeto, System.EventArgs e).
{
DataGridItemdgi;
System.Web.UI.WebControls.TableCell celda de tabla;
Cuadro de tablero System.Web.UI.WebControls.TableRow;
cuadrícula DataGrid = (remitente como DataGrid);
if(grid.Controls.Count == 0) retorno;
Tabla System.Web.UI.WebControls.Table = (grid.Controls[0] como System.Web.UI.WebControls.Table);
tablerow = (System.Web.UI.WebControls.TableRow)(table.Controls[1]);
for(int j=this.PageSize+4-table.Controls.Count;j>0;j--)
{
dgi = nuevo DataGridItem(0,0,ListItemType.Item);
para(int i=0;i<tablerow.Controls.Count;i++)
{
tablecell = nuevo System.Web.UI.WebControls.TableCell();
dgi.Cells.Add(tablecell);
}
tabla.Controls.AddAt(tabla.Controls.Count-2,dgi);
}
}
Explicación: Lo que se considera aquí es una cuadrícula de datos enlazada con filas de encabezado/pie de página/buscapersonas y un buscapersonas debajo.
Lo extraño es que no puedo agregar cssstyle a una línea aquí. Una vez que dgi.cssstyle="dumpTableRowClass"; estas líneas recién agregadas colapsarán. Si tiene éxito, deme algún consejo.
Original de athossmth, indíquelo al reimprimir.