首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

datagrid 双标题?该如何解决

2012-01-19 
datagrid 双标题? 声明的全局变量PrivateupPagerAsBooleanTrueProtectedSubMyDataGrid_ItemCreated(ByVal

datagrid 双标题?

声明的全局变量  
  Private   upPager   As   Boolean   =   True
Protected   Sub   MyDataGrid_ItemCreated(ByVal   sender   As   Object,   ByVal   e   As   System.Web.UI.WebControls.DataGridItemEventArgs)   Handles   MyDataGrid.ItemCreated
Dim   ItemType   As   ListItemType
                ItemType   =   e.Item.ItemType
                If   ItemType   =   ListItemType.Pager   Then
                        If   uppager   =   true   Then
                                Dim   cellPersonal   As   TableCell
                                cellPersonal   =   CType(e.Item.Controls(0),   TableCell)
                                cellPersonal.Controls.Clear()
                                cellPersonal.BackColor   =   Drawing.Color.Blue
                                cellPersonal.ForeColor   =   Drawing.Color.White
                                cellPersonal.Font.Bold   =   True
                                cellPersonal.ColumnSpan   =   1
                                cellPersonal.HorizontalAlign   =   HorizontalAlign.Center
                                cellPersonal.Controls.Add(New   LiteralControl( " "))
                                Dim   cellPersonal0   As   TableCell
                                cellPersonal0   =   New   TableCell()
                                cellPersonal0.BackColor   =   Drawing.Color.Blue
                                cellPersonal0.ForeColor   =   Drawing.Color.White
                                cellPersonal0.Font.Bold   =   True
                                cellPersonal0.ColumnSpan   =   3
                                cellPersonal0.HorizontalAlign   =   HorizontalAlign.Center
                                cellPersonal0.Controls.Add(New   LiteralControl( "销售数量 "))
                                e.Item.Controls.Add(cellPersonal0)


                                Dim   cellPersonal1   As   TableCell
                                cellPersonal1   =   New   TableCell()
                                cellPersonal1.BackColor   =   Drawing.Color.Blue
                                cellPersonal1.ForeColor   =   Drawing.Color.White
                                cellPersonal1.Font.Bold   =   True
                                cellPersonal1.ColumnSpan   =   3
                                cellPersonal1.HorizontalAlign   =   HorizontalAlign.Center
                                cellPersonal1.Controls.Add(New   LiteralControl( "销售收入 "))
                                e.Item.Controls.Add(cellPersonal1)
                                uppager=false
                             
                        End   If
                End   If

  End   Sub
很简单就这么点代码,声明个全局变量,然后在事件里判断  

在itemcreated事件加入后,第一次好使,但无数据在检索时,就变成导航页号了,有数据时候在一次检索才显示出来双标题,请问是什么原因,还有没有别的双标题解决办法?


[解决办法]
参考孟子的标题更改,其实就是把HTML写入到header里
[解决办法]
自己构造个GRID,也很简单啊
[解决办法]
private void DataGrid1_ItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType==ListItemType.Header)
{
e.Item.Cells[0].Attributes.Add( "colspan ", "4 "); //合并列
for(int i=1;i <e.Item.Cells.Count;i++)
{
e.Item.Cells[i].Attributes.Add( "visibility ", "none ");//隐藏其它列
}
e.Item.Cells[0].Text= " <table> 你的DataGrid头部分,html格式 </table> ";
}
}

这样就行了,html部分可以任意定制

热点排行