Wenn das DataGrid Paging verwendet, ist die letzte Seite möglicherweise nicht „vollseitig“, sodass möglicherweise Probleme mit dem Layout des DataGrids auftreten. Die verbleibenden Zeilen werden zu breit und das gesamte DataGrid wird hässlich.
Lösungen können wahrscheinlich von drei Stellen aus in Betracht gezogen werden:
1. Füllen Sie die neuen Datenzeilen in der DataSource aus.
2. Füllen Sie die neue leere Kontrollzeile im DataGrid aus.
3. Füllen Sie mit Javascript die neue HTML-Steuerzeile auf der Webseite aus.
Ich habe die zweite Methode verwendet. Füllen Sie in der Antwortmethode des Prerender-Ereignisses des Datagrids die Leerzeile über der Fußzeile aus. Der Code lautet wie folgt:
protected virtual void SpiderSurfGrid_PreRender(object sender, System.EventArgs e)
{
DataGridItem dgi;
System.Web.UI.WebControls.TableCell tablecell;
System.Web.UI.WebControls.TableRow Tabellenzeile;
DataGrid Grid = (Sender als DataGrid);
if(grid.Controls.Count == 0) return;
System.Web.UI.WebControls.Table table = (grid.Controls[0] as 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 = new DataGridItem(0,0,ListItemType.Item);
for(int i=0;i<tablerow.Controls.Count;i++)
{
tablecell = new System.Web.UI.WebControls.TableCell();
dgi.Cells.Add(tablecell);
}
table.Controls.AddAt(table.Controls.Count-2,dgi);
}
}
Erläuterung: Was hier betrachtet wird, ist ein gebundenes Datagrid mit Kopf-/Fußzeilen/Pager-Zeilen und einem Pager darunter.
Das Seltsame ist, dass ich cssstyle hier nicht hinzufügen kann. Wenn Sie Erfolg haben, geben Sie mir bitte einen Rat.
Original von athossmth, bitte bei Nachdruck angeben.