关于ASP.NET的分层问题。
DataGrid的单元格合并应该是很常见的问题,但是不知道为什么.NET没有提供这个方法。在我现在的ASP.NET项目中,就遇到了DataGrid单元格需要合并。我在网上搜索了一下,发现在CSDN上已经有人写出来了,但是他那个不支持分页。于是我完善了一下使它支持分页:
public void SpanGrid(DataTable dt,DataGrid dg,int iColsSpan) {
int i;
int j;
int intspan;
string temp;
int iLen = dt.Rows.Count;
int iPageSize = dg.PageSize;
int iPageCount = dg.PageCount;
int iCurPage = dg.CurrentPageIndex;
int iStart = iPageSize * iCurPage;
int iEnd = 0;
int index1 = 0;
int index2 = 0;
if ((iCurPage + 1) * iPageSize < iLen)
iEnd = iStart + iPageSize;
else
iEnd = iLen;
for(i=iStart;i<iEnd;i++) {
//DataGridItem _item = dg.Items[i];
intspan = 1;
temp = dt.Rows[i][iColsSpan].ToString();
for(j=i+1;j<iEnd;j++) {
if(String.Compare(temp, dt.Rows[j][iColsSpan].ToString())== 0) {
intspan++;
index1 = i % iPageSize;
index2 = j % iPageSize;
dg.Items[index1].Cells[iColsSpan].RowSpan = intspan;
dg.Items[index2].Cells[iColsSpan].Visible = false;
} else {
break;
}
}
i=j-1;
}
}
浙公网安备 33010602011771号