GridView可不可以分几行几列显示如:图片1 图片2 图片3
图片4 图片5 图片6      1 2 3 4 5

解决方案 »

  1.   

    可以,但比较麻烦,需要把DataTable里面的行列转换一下。
    /// <summary>
    /// 将原DataTable转换成横向显示多项
    /// </summary>
    /// <param name="dt">原DataTable</param>
    /// <param name="iSize">欲转换成的列数</param>
    /// <param name="iColumnID">列ID</param>
    /// <returns></returns>
    private DataTable MakeData(DataTable dt, int iSize, int iColumnID)
    {
    int iTmp = dt.Rows.Count%iSize;
    int iRow;
    if (iTmp == 0)
    iRow = dt.Rows.Count/iSize;
    else
    iRow = dt.Rows.Count/iSize + 1; DataTable newDt = new DataTable();
    for (int i = 0; i < 2*iSize; i ++)
    {
    DataColumn dc = new DataColumn(dt.Columns[iColumnID].ColumnName+i, 
    dt.Columns[iColumnID].DataType);
    newDt.Columns.Add(dc);
    } for (int i = 0; i < iRow; i ++)
    {
    DataRow dr = newDt.NewRow();
    for (int j = 0; j < 2*iSize; j ++)
    {
    if ((j/2 + i*iSize) < dt.Rows.Count)
    {
    if (j%2 == 0)
    dr[dt.Columns[iColumnID].ColumnName + j] = dt.Rows[j/2 + i*iSize][iColumnID];
    else
    dr[dt.Columns[iColumnID].ColumnName + j] = dt.Rows[j/2 + i*iSize][iColumnID+1];
    }
    }
    newDt.Rows.Add(dr);
    }
    return newDt;
    }
      

  2.   

    設計好datatable  就可以了