豎表變橫表(支援固定列)
根據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; //行數
如果(itmp==0)
iRows=dt.Rows.Count/iColumnSize;
別的
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)
{
字串 aa=dt.Columns[iColumnID[k]].ColumnName+j;
嘗試
{
dr[dt.Columns[iColumnID[k]].ColumnName+j]=dt.Rows[iRows*j+i][iColumnID[k]];
}
抓住
{}
}
}
}
newdt.Rows.Add(dr);
}
返回newdt;
}