当前位置: 代码迷 >> ASP.NET >> gridview合并行有关问题,顶着有分
  详细解决方案

gridview合并行有关问题,顶着有分

热度:2692   发布时间:2013-02-25 00:00:00.0
gridview合并行问题,顶着有分
原表例如
----------------------
|name | age | other..|
----------------------
| Li | 20 | XXXXX. |
----------------------
|Wang | 21 | XXXXX. |
----------------------
........
----------------------
如何变为:
----------------------
| pople |
----------------------
| Li 20 XXXXX... |
----------------------
|Wang 21 XXXXX. XXXXX|
|XXXXXXX............ |
----------------------
........
----------------------
表的宽度固定,内容较多时可以换行.

不知道问题描述清楚没有,解决问题马上给分,顶着有分


------解决方案--------------------------------------------------------
只有自己一行一行的修改了
gridview了
我用gridview做交叉报表时就是这样做的
------解决方案--------------------------------------------------------
http://blog.csdn.net/21aspnet/archive/2007/03/25/1540301.aspx
看了这个应该就可以解决了
------解决方案--------------------------------------------------------
合并列的問題。
把name,age,other三列合并成people列.
提供一個簡單的方法:
讀取數據的時候把這三個列合并.
SQL code
SELECT name+' '+age+' '+other 'people' FROM table
------解决方案--------------------------------------------------------
帮顶
------解决方案--------------------------------------------------------
手动加入表格数据应该就可以!!
------解决方案--------------------------------------------------------
可以重写Render方法,手动输出表格。
------解决方案--------------------------------------------------------
up
------解决方案--------------------------------------------------------
帮顶
------解决方案--------------------------------------------------------
使用摸板列,示列html代码:
<asp:TemplateField HeaderText="产品信息">
<ItemStyle HorizontalAlign="Left" />
<ItemTemplate>
<a href='<%#Eval("ProductId","ProductsView.aspx?ProductId={0}") %>' class="linkTitle"><asp:Label ID="lblProductName" runat="server" Text='<%# Bind("ProductName") %>'></asp:Label></a> 
[<asp:Label ID="lblAddTime" runat="server" Text='<%# Bind("AddTime") %>'></asp:Label>]<br />
<asp:Label ID="lblProductEpName" runat="server" Text='<%# Bind("EpName") %>'></asp:Label>
<asp:Label ID="lblProductEpAddress" runat="server" Text='<%# Bind("EpAddress") %>'></asp:Label><br />

<%# Eval("EpNameUrl","{0}") %>
</ItemTemplate>
------解决方案--------------------------------------------------------
将需要合并的各列转换成模板列,然后将<ItemTemplate>中的内容合并,类似代码:

<asp:TemplateField>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("name") %>'></asp:Label>&nbsp;&nbsp;<asp:Label ID="Label2" runat="server" Text='<%# Bind("age") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

------解决方案--------------------------------------------------------
up
------解决方案--------------------------------------------------------
HonorsOffice说的方法很好啊,直接从数据库读出来多好!效率也高!
SELECT name+' '+age+' '+other 'people' FROM table

------解决方案--------------------------------------------------------
这个用DataList更合适,用GridView比较难