إذا كانت DataGrid تستخدم الترحيل، فقد لا تكون الصفحة الأخيرة "صفحة كاملة"، لذلك قد تكون هناك مشاكل في تخطيط DataGrid، وستكون الصفوف المتبقية واسعة جدًا، وستصبح DataGrid بأكملها قبيحة.
ربما يمكن النظر في الحلول من ثلاثة أماكن:
1. املأ صفوف البيانات الجديدة في مصدر البيانات.
2. املأ صف التحكم الفارغ الجديد في DataGrid.
3. استخدم جافا سكريبت لملء صف التحكم الجديد في HTML في صفحة الويب.
لقد استخدمت الطريقة الثانية في طريقة الاستجابة لحدث العرض المسبق لـ datagrid، املأ السطر الفارغ أعلى سطر التذييل، ويكون الرمز كما يلي:
Protect Virtual void SpiderSurfGrid_PreRender(object sender, System.EventArgs e)
{
DataGridItem dgi;
System.Web.UI.WebControls.TableCell tablecell;
System.Web.UI.WebControls.TableRow tablerow;
شبكة DataGrid = (المرسل كـ DataGrid)؛
إذا (grid.Controls.Count == 0) العودة؛
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);
ل(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);
}
}
Explanation: ما يتم اعتباره هنا هو شبكة بيانات مرتبطة مع صفوف رأس/تذييل/بيجر وبيجر أدناه.
والأمر الغريب هو أنني لا أستطيع إضافة cssstyle إلى السطر هنا. بمجرد أن أقوم dgi.cssstyle = "dumpTableRowClass"؛ ستنهار هذه الأسطر المضافة حديثًا. إذا نجحت، فيرجى تقديم بعض النصائح لي.
الأصل بواسطة athossmth، يرجى الإشارة عند إعادة الطباعة.