关于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;
   }
  }

posted on 2004-05-28 17:00  大鼻子狗的窝  阅读(1386)  评论(0)    收藏  举报

导航