所谓的折行是指:本来一行显示有10列,现在要求一行只显示7列,剩下的3列显示在下一行的后3列上,请问如何实现??
示例:
第一行1列  第一行2列  第一行3列  第一行4列  第一行5列  第一行6列  第一行7列
                                            第一行8列  第一行9列  第一行10列
第二行1列  第二行2列  第二行3列  第二行4列  第二行5列  第二行6列  第二行7列
                                            第二行8列  第二行9列  第二行10列
第三行1列  第三行2列  第三行3列  第三行4列  第三行5列  第三行6列  第三行7列
                                            第三行8列  第三行9列  第三行10列
......
......
......(不要告诉我用其它控件,我就是要用GridView实现!)

解决方案 »

  1.   

    放弃gridview吧,用repeater都简单的多,只需要div控制好列宽就可以了。
    另外看您的需求,这样显示显然不是最好的效果。
    最好就是一行仍然显示10列,超出的部分出现滚动条,拖动显示;允许拖动列宽,这样才完美。有那样的js表格,你找找看。
      

  2.   

    TemplateField里弄个ItemTemplate,再弄个表格,7列2行的,自己往里面动态绑定字段就OK
      

  3.   

    RowDataBound事件里面写绑定的代码。 。。
      

  4.   

    直接查出这样一种格式的数据再绑定到gridview上
      

  5.   

    我的想法是:
    用手工把数据一行一行地填到gridview上,但我不知道如何为gridview插入一空行(而不是用数据绑定方式)。
      

  6.   

    在用GridView绑定数据时,希望某些列的数据在超过一定长度后能够自动折行显示,但是列头肯定是不希望换行的了,有些列因为特殊要求也不希望换行,还有就是如果列的内容不是很长,换行反而影响整个界面的美观。     在网上查了查资料,基本上都是通过在后台添加代码来实现,具体好不好用我不知道啊,也许是我用错了,反正我是没有用成功,后来自己琢磨了一下它自身的属性设置,发现不用任何代码,仅仅使用属性就能实现换行。   首先在添加一个宽度的属性:<asp:GridView ID="gv1"  runat="server"   Style="width:1600px;" >这个宽度不一定非要是这个数值,但是不能使用百分比的方式,一定要是绝对值,为什么呢?假如是百分比的话,那么整个GridView的宽度就是浏览器的宽度,如果浏览器宽度不够,那些不折行的列依然不折行,总宽度减去不折行列的宽度,剩余的就是折行列的宽度,你想想吧,很可能造成折行列两个字就折一行,这肯定不是我们希望的。然后在数据模板列添加两个属性:<asp:BoundField DataField="ChangeReason" HeaderText="原因"><HeaderStyle Wrap="false"/>
    <ItemStyle />
    </asp:BoundField>看的明白吧,<HeaderStyle/>是设置模板的列头, Wrap="false"是不换行的意思,设为true就是换行的意思,默认是换行的,所以内容列<ItemStyle />没有设置,就是默认换行,假如有多列需要换行,最好设置一下内容列的With属性,用来控制每个列超过多大宽度才换行。在实际使用中,可以在调试状态,看一下需要换行的列是不是我们期望的宽度,假如太窄,那就要把Style="width:1600px;" 的值设置大一点。说明一点:在IE6,IE7,IE8中都可以换行,其他浏览器没测试。对于中文和英文句子,可以正常换行,但是对于长串英文字符,会被认为是一个英文单词,IE8不会将它换行,IE7,IE6会换行
      

  7.   

    两个解决方案,没有实现,不知是否可行
    1.就是把要折行的三个字段在一个GridView 模板里再写一个控件来绑定2.就是把要折行的列写个css,给模板添个cssClass来控制
      

  8.   

    TemplateField里弄个ItemTemplate,再弄个表格,7列2行的,自己往里面动态绑定字段就OK只能自己在模板里弄了,table要什么样就写成什么样。
      

  9.   

    我不知道在贴子里如何加入图片,想传一个图片,大家就明白我的意思了.插入图片的完整路径 http://    <----这后面怎么写啊
      

  10.   

    string lsid = ((TextBox)this.myGrid.Rows[e.RowIndex].Cells[1].Controls[0]).Text.Trim();
            string sno = ((TextBox)this.myGrid.Rows[e.RowIndex].Cells[2].Controls[0]).Text.Trim();
            string sname = ((TextBox)this.myGrid.Rows[e.RowIndex].Cells[3].Controls[0]).Text.Trim();
            string spic = ((TextBox)this.myGrid.Rows[e.RowIndex].Cells[4].Controls[0]).Text.Trim();这个就是将GridView分成一行4个格,如果还想分,在像这样写就可以了!
      

  11.   

    为什么我跟你说的你不试试呢,这种东西我之前也没做过,但是思路有了,就可以尝试一下
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID"
                DataSourceID="SqlDataSource1" BorderStyle="Dashed" Width="100%" >
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <table style="width: 100%" border="1" CellPadding="1" CellSpacing="1">
                                <tr>
                                    <td style="width:100px;">
                                        <%# Eval("ProductID") %>
                                    </td>
                                    <td style="width:100px;">
                                        <%# Eval("ProductName") %>
                                    </td>
                                    <td style="width:100px;">
                                        <%# Eval("SupplierID") %>
                                    </td>
                                    <td style="width:100px;">
                                        <%# Eval("CategoryID") %>
                                    </td>
                                    <td style="width:200px;">
                                        <%# Eval("QuantityPerUnit") %>
                                    </td>
                                    <td style="width:200px;">
                                        <%# Eval("UnitPrice") %>
                                    </td>
                                    <td style="width:200px;">
                                        <%# Eval("UnitsInStock") %>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                    &nbsp;</td>
                                    <td>
                                    &nbsp;</td>
                                    <td>
                                    &nbsp;</td>
                                    <td>
                                    &nbsp;</td>
                                    <td>
                                        <%# Eval("UnitsOnOrder") %>
                                    </td>
                                    <td>
                                        <%# Eval("ReorderLevel") %>
                                    </td>
                                    <td>
                                        <%# Eval("Discontinued") %>
                                    </td>
                                </tr>
                            </table>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
      

  12.   

    我是连的数据库自带的数据库试的,把数据绑定给贴出来吧,剩下的,就真是你自己的事情了       <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="ProductID"
                DataSourceID="SqlDataSource1" BorderStyle="Dashed" Width="100%" >
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <table style="width: 100%" border="1" CellPadding="1" CellSpacing="1">
                                <tr>
                                    <td style="width:100px;">
                                        <%# Eval("ProductID") %>
                                    </td>
                                    <td style="width:100px;">
                                        <%# Eval("ProductName") %>
                                    </td>
                                    <td style="width:100px;">
                                        <%# Eval("SupplierID") %>
                                    </td>
                                    <td style="width:100px;">
                                        <%# Eval("CategoryID") %>
                                    </td>
                                    <td style="width:200px;">
                                        <%# Eval("QuantityPerUnit") %>
                                    </td>
                                    <td style="width:200px;">
                                        <%# Eval("UnitPrice") %>
                                    </td>
                                    <td style="width:200px;">
                                        <%# Eval("UnitsInStock") %>
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                    &nbsp;</td>
                                    <td>
                                    &nbsp;</td>
                                    <td>
                                    &nbsp;</td>
                                    <td>
                                    &nbsp;</td>
                                    <td>
                                        <%# Eval("UnitsOnOrder") %>
                                    </td>
                                    <td>
                                        <%# Eval("ReorderLevel") %>
                                    </td>
                                    <td>
                                        <%# Eval("Discontinued") %>
                                    </td>
                                </tr>
                            </table>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
                SelectCommand="SELECT * FROM [Alphabetical list of products]"></asp:SqlDataSource>
      

  13.   

    试过“流星”兄的代码,有点眉目,但是用了table不熟不太好控制,
    有没有不用table的,就是手工增加一空白行,填入数据(比如7个字段值),再加一空白行填入折回行的数据(即剩下的3个字段值),这样就完成了第一条记录的填充,以此类推再填入第二条记录.....
      

  14.   

    RadGrid有现成的控件jquery-grid有插件
      

  15.   

    这属于html+CSS的问题
    我给你的当然只是一个思路,你不用table,可以用div,如果没对齐,当然可以调CSS
    你甚至可以不用gridview,而像你说的直接循环添加,因为gridview解释到页面,源代码它就是一个table形式是多样的,功能实现也是,看你自己拿手哪个,想做什么样的效果了
      

  16.   


    一样  你吧table换成<ul><li>也行啊