在.NET中,将竖表变横表(支持固定列)
2006-03-17 17:05:58 来源:WEB开发网竖表变横表(支持固定列)
根据LoveCherry的竖变横方法改进而来
public DataTable MakeData(DataTable dt,int iColumnSize,int[] iColumnID) //iColumnsize:重复列数 iColumnID 需要横向排列的列的序号数组
{
int ColumnCount=iColumnID.Length;
int totalRows=dt.Rows.Count;
int itmp=dt.Rows.Count%iColumnSize; //行数
int iRows; //行数
if(itmp==0)
iRows=dt.Rows.Count/iColumnSize;
else
iRows=dt.Rows.Count/iColumnSize+1;
DataTable newdt=new DataTable();
for(int i=0;i<iColumnSize;i++)
{
for(int j=0;j<ColumnCount;j++)
{ string aa=dt.Columns[iColumnID[j]].ColumnName+i;
int bb=iColumnID[j];
DataColumn dc=new DataColumn(dt.Columns[iColumnID[j]].ColumnName+i,dt.Columns[iColumnID[j]].DataType);
newdt.Columns.Add(dc);
}
}
for(int i=0;i<iRows;i++)
{
DataRow dr=newdt.NewRow();
for(int j=0;j<iColumnSize;j++)
{
for(int k=0;k<ColumnCount;k++)
{
if((i+j*iColumnSize)<dt.Rows.Count)
{
string aa=dt.Columns[iColumnID[k]].ColumnName+j;
try
{
dr[dt.Columns[iColumnID[k]].ColumnName+j]=dt.Rows[iRows*j+i][iColumnID[k]];
}
catch
{}
}
}
}
newdt.Rows.Add(dr);
}
return newdt;
}
- ››支持 Symbian 平台的开发者只有四分之一
- ››Netpas加速 让非电信宽带用户流畅上网
- ››支持电骡视频点播 迅雷泛播放体验
- ››net中fckediter的图片上传时候点击\浏览服务器\出...
- ››支持Win 7 Vista 不开迅雷接管高速下载
- ››支持换肤功能的窗口实例
- ››Netmsg局域网聊天程序
- ››支持iPhone的免费VPN:VPN98
- ››支持PDF阅读!美图看看新版试用
- ››支持Windows CE和Android 2.1双系统的Viliv Prime...
- ››支持Flash Windows Mobile 手机全功能浏览器
- ››NetAirus指控苹果iPhone侵犯其专利
更多精彩
赞助商链接