例如:
原来datagrid为这样一张表:
-----
苹果|
-----
香蕉|
-----
葡萄|
-----
桔子|
-----
梨  |
-----
西瓜|
-----
黄瓜|
-----现在想变成一行三列的这样一张表啊?
---------------
苹果|香蕉|葡萄|
---------------
桔子|梨  |西瓜|
---------------
黄瓜|    |    |
---------------
不慎感激啊~~~

解决方案 »

  1.   

    用datalist就可以了,不一定非得用datagrid
      

  2.   

    如果是win下的话,要么修改数据源;要么换成listview or listbox。
      

  3.   

    用datatable修改数据格式,重新绑定数据源
      

  4.   

    谢谢楼上几位的帮忙.我的是webform.有谁能提供一下较详细的代码么??
      

  5.   

    使用datalist来实现,例如:
    <asp:datalist id="dtlTest" runat="server" Width="600px" RepeatColumns="3" RepeatDirection="Horizontal">
    <ItemTemplate>
                //Add your column here
    </ItemTemplate>
    </asp:datalist>如果为了控制显示,还可以加入table来控制。
      

  6.   

    <asp:DataGrid id="dgDoubleHeader" runat="server" AllowPaging="True" AutoGenerateColumns="False"
    Width="100%" PageSize="5" BorderColor="#336666" BorderStyle="Double" BorderWidth="3px" BackColor="White"
    CellPadding="4" GridLines="Horizontal">
    <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#339966"></SelectedItemStyle>
    <ItemStyle ForeColor="#333333" BackColor="White"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#336666"></HeaderStyle>
    <FooterStyle ForeColor="#333333" BackColor="White"></FooterStyle>
    <Columns>
    <asp:BoundColumn DataField="FirstName" HeaderText="FirstName"></asp:BoundColumn>
    <asp:BoundColumn DataField="LastName" HeaderText="LastName"></asp:BoundColumn>
    <asp:BoundColumn DataField="HomePhone" HeaderText="HomePhone"></asp:BoundColumn>
    <asp:BoundColumn DataField="City" HeaderText="City"></asp:BoundColumn>
    <asp:BoundColumn DataField="PostalCode" HeaderText="PostalCode"></asp:BoundColumn>
    </Columns>
    <PagerStyle HorizontalAlign="Center" ForeColor="White" Position="TopAndBottom" BackColor="#336666"
    Mode="NumericPages"></PagerStyle>
    </asp:DataGrid> private void dgDoubleHeader_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    //获取DataGrid控件中项的类型
    ListItemType ItemType = e.Item.ItemType;
    //判断是否是页导航项
    if (ItemType == ListItemType.Pager) 

    //判断是否是第一个页导航项
    if (upPager) 

    //根据DataGrid控件的项定义单元格对象
    TableCell cellPersonal = (TableCell) e.Item.Controls[0];
    //移出该单元格内的所有控件
    cellPersonal.Controls.Clear();
    //设置单元格对象的背景色
    cellPersonal.BackColor = Color.Orange; 
    //设置单元格对象的前景色
    cellPersonal.ForeColor = Color.Black; 
    //设置该单元格对象跨3列
    cellPersonal.ColumnSpan = 2; 
    //设置该单元格对象的对齐方式为居中
    cellPersonal.HorizontalAlign = HorizontalAlign.Center; 
    //添加单元格内的文本内容
    cellPersonal.Controls.Add(new LiteralControl("姓名")); 
    //定义单元格对象
    TableCell cellWork = new TableCell();
    //设置单元格对象的背景色
    cellWork.BackColor = Color.OrangeRed;
    //设置单元格对象的前景色
    cellWork.ForeColor = Color.Black;
    //设置该单元格对象跨2列
    cellWork.ColumnSpan = 3; 
    //设置该单元格对象的对齐方式为居中
    cellWork.HorizontalAlign = HorizontalAlign.Center;
    //添加单元格内的文本内容
    cellWork.Controls.Add(new LiteralControl("联系方式"));
    //在该项的控件集合中添加单元格对象
    e.Item.Controls.Add(cellWork);
    //改变Pager标志
    upPager = false; 
    }
    } } private void dgDoubleHeader_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
    {
    //改变Pager标志的值使其可以在每次触发分页事件时都设置标题头
    upPager = true; 
    //设置新的页面索引值
    dgDoubleHeader.CurrentPageIndex = e.NewPageIndex;
    //重新进行数据绑定
    DataGridDataBind();
    }
      

  7.   

    如果你从数据库读到的表结构已经对此结构对应,那套用上面的程序就行了.
    如果表结构还是像第一种情况的,那要再改一下程序了,在ItemDataBound事件再写此程序就可以了.