<asp:TemplateColumn HeaderText="aa" SortExpression="aa" ItemStyle-Width="38%">
<ItemTemplate>
<asp:Label id="Label3" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "aa").ToString().Trim() %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="bb" SortExpression="bb" ItemStyle-Width="19%">
<ItemTemplate>
<asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "bb").ToString().Trim() %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>这样显示的效果是两列,但我想要的效果是两个标题合在一起,并且上面再写一个cc
形如
cc
aa bb
这种情况在datagrid中可以实现吗??
<ItemTemplate>
<asp:Label id="Label3" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "aa").ToString().Trim() %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="bb" SortExpression="bb" ItemStyle-Width="19%">
<ItemTemplate>
<asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "bb").ToString().Trim() %>'>
</asp:Label>
</ItemTemplate>
</asp:TemplateColumn>这样显示的效果是两列,但我想要的效果是两个标题合在一起,并且上面再写一个cc
形如
cc
aa bb
这种情况在datagrid中可以实现吗??
实现的功能是在月的上面加上季度private void datagrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType==ListItemType.Header)
{
for (int i=0;i<e.Item.Cells.Count;i++)
e.Item.Cells[i].Wrap = false; Table t = (Table)dgUnit.Controls[0];
DataGridItem tr = new DataGridItem(0,0,ListItemType.Header);
TableCell tc;
tc = new TableCell();
tc.Text = "四季度";
tc.HorizontalAlign = HorizontalAlign.Center;
tc.ColumnSpan = 2;
tc.Wrap = false;
tr.Cells.AddAt(0,tc);
tc = new TableCell();
tc.Text = "三季度";
tc.HorizontalAlign = HorizontalAlign.Center;
tc.ColumnSpan = 2;
tc.Wrap = false;
tr.Cells.AddAt(0,tc);
tc = new TableCell();
tc.Text = "二季度";
tc.HorizontalAlign = HorizontalAlign.Center;
tc.ColumnSpan = 2;
tc.Wrap = false;
tr.Cells.AddAt(0,tc);
tc = new TableCell();
tc.Text = "一季度";
tc.HorizontalAlign = HorizontalAlign.Center;
tc.ColumnSpan = 2;
tc.Wrap = false;
tr.Cells.AddAt(0,tc);
tc = new TableCell();
tc = e.Item.Cells[0];
tc.RowSpan = 2;
tr.Cells.AddAt(0,tc); t.Rows.AddAt(0,tr);
}
}
二楼的不错
你需要在datagrid控件中的ItemCreated事件中添加代码
主要利用单元格对象的ColumnSpan属性
就是画表格
这是后台,能把前台datagrid也贴出来吗??
select cc,aa,bb from table
这样你分别绑定出现你现在的情况,那么,要实现楼主的想法,你即可
select cc & '<br>' & aa & bb as title from table
然后求取出来之后,只要绑定这个title字段就可以正确显示类似效果了.