图片分行显示,DataTable竖表变横表的方法

mac2022-06-30  59

代码参考过Phiree的http://www.cnblogs.com/phiree/archive/2005/11/19/280460.aspx文章,但是在套用过程用发现图片分行排列的时候Phiree的方法排列出来的图片顺序是竖排的,并是我想像中的横排,所以修改了他的记录插入方法,这样排列顺序就完全按照图片添加的顺序从左到右,从上到下排列。最后一行如果图片不够一行,则自动以最后的图片填充满一行。你也可以修改代码来显示空白图片。

well,代码如下:

         // DataTable是传入的需要转换的竖表         // int iColumnSize是每行需要显示的记录数目,在我的应用中的每行显示的图片数目         // int[] iColumnID是需要将传入的竖表中哪些列转换到新的横表中去          private  DataTable ChangeDataTable(DataTable dt, int  iColumnSize, int [] iColumnID)         {            DataTable newdt = new DataTable();             //int[] iColumnID = new int[]{0,1,2};            //int iColumnSize = 5;            int ColumnCount = iColumnID.Length;            int totalRows = dt.Rows.Count;            int itmp = totalRows % iColumnSize; //计算行数            int iRows;             if(itmp == 0)            {                iRows = totalRows / iColumnSize;            }            else            {                iRows = totalRows / iColumnSize + 1;            }            for(int i=0;i<iColumnSize;i++//列插入新表            {                  for(int j=0;j<ColumnCount;j++)                {                    DataColumn dc=new DataColumn(dt.Columns[iColumnID[j]].ColumnName + i.ToString(),dt.Columns[iColumnID[j]].DataType);                     newdt.Columns.Add(dc);                 }            }            for(int i=0;i<iRows;i++//将行插入新表            {                  DataRow dr=newdt.NewRow();                int m = 0;                for(int j=0;j<iColumnSize;j++)                {                    for(int k=0;k<ColumnCount;k++)                    {                        int n = i*iColumnSize + j;                        if(n<totalRows)                        {                            dr[m] = dt.Rows[n][k];                        }                        else                        {                            dr[m]=dt.Rows[totalRows-1][k];                        }                        m++;                    }                }                newdt.Rows.Add(dr);            }

转载于:https://www.cnblogs.com/KenBlove/articles/484100.html

相关资源:T392551790.zip datatable 横表转竖表 横表转纵表 通用的代码
最新回复(0)