一个表头合并的问题,问了好多人了~~~~~~~~~~~~~~~~~~~~~~~~~~
我在客户端是这样写的,不知道有没有错
<body leftMargin="0" MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FONT face="宋体">
<asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 248px; POSITION: absolute; TOP: 128px"
runat="server" AutoGenerateColumns="False" BorderColor="Black">
<Columns>
<asp:TemplateColumn HeaderText="业务员 ">
<HeaderStyle Wrap="False"></HeaderStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CHG_DPNO") %>' ID="CHG_DPNO" >
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="地区">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CHG_NAME") %>' ID="CHG_NAME" >
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn >
<HeaderStyle Wrap="False" Width="0px"></HeaderStyle>
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CHG_MDLSCOT") %>' ID="CHG_MDLSCOT" >
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="</td></tr><tr><td>北京</td><td>上海</td><td>深圳</td></tr>">
<ItemTemplate>
<asp:Label runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.CHG_UNITPRICE") %>' ID="CHG_UNITPRICE" >
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:datagrid></FONT></form>
</body>
在服务器端
private void DataGrid1_ItemDataBound_1(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Header)
{
int k=e.Item.Cells.Count;
e.Item.Cells[0].RowSpan = 2;
e.Item.Cells[1].ColumnSpan =3;
e.Item.Cells[2].Visible = false;
//e.Item.Cells[3].Visible = false;
}
实现起来,最后多了一列,不知道怎么去掉
如果使用e.Item.Cells[3].Visible = false;
会变成
晕了!!!,拜托~~ --------------------编程问答-------------------- 表头和内容分开做 --------------------编程问答-------------------- 我是参考http://blog.csdn.net/gauzxj/archive/2008/04/20/2309128.aspx
可是是按照那个方法做的为什么总是对多一列呢?帮忙帮忙~~~~ --------------------编程问答-------------------- 把 "</td></tr><tr><td>北京</td><td>上海</td><td>深圳</td></tr>" 放在第三列,你放在了第四列了。
--------------------编程问答-------------------- 我放在第四列出来的格式也是错的
--------------------编程问答-------------------- 无限层复杂表头的实现 http://dotnet.aspx.cc/article/01c21aa8-7de7-4c5d-ab0c-4736e259b773/read.aspx --------------------编程问答-------------------- 好像你混乱了一些概念
表头式表头,内容是内容
业务员怎么可能同时属于北京,上海,深圳呢,这三个城市的数字又怎么会是一样的呢
你这就不是什么多表头的问题,是设计问题,思路问题
业务员 地区 内容1 内容2 内容3
001 上海 Cssfsf 前门外开把手 3.13
002 深圳 Cssfsf 前门外开把手 5.05
003 北京 Cssfsf 前门外开把手 3.13
004 美国 Cssfsf 前门外开把手 3.13
--------------------编程问答-------------------- 学习! --------------------编程问答--------------------
这个是好东西,现学习! --------------------编程问答-------------------- 可惜我用的不是2005,唉,不然就不会这么烦了 --------------------编程问答-------------------- 或者用其他方法能实现上面的效果也可以哦~ --------------------编程问答--------------------
这句e.Item.Cells[3].Visible = false;加上应该就好了
--------------------编程问答-------------------- 加上去了,格式也是错的,在一楼的时候我就有写了哦
如果使用e.Item.Cells[3].Visible = false;
。。。
一楼有图 --------------------编程问答-------------------- 呵呵,
把
</td></tr><TR><TD>北京</TD><TD>上海</TD><TD>深圳</TD></TR>
改为
</td></tr><TR><TD>北京</TD><TD>上海</TD><TD>深圳
即可.那一堆<>搞晕头了 --------------------编程问答-------------------- 改了还是
补充:.NET技术 , C#