(原创)DataGrid多层表头设计

类别:.NET开发 点击:0 评论:0 推荐:

        最近做的项目用到了DataGrid多层表头,问了很多人,自己感觉回答不是很明确,自己总结了一下,希望能够使以后使用的兄弟们少走弯路。

类似于上面的一个情况,乍一看,还以为要通过Table来实现哪,但是相信强大的DataGrid,于

是开始寻找方法。一些前辈们的讲解就是TableCellCollection 中添加TableHeaderCell(这应该是基础的

内容)。

         图中是繁体,我用简体来说。

       <asp:datagrid id="UserDg" OnItemCreated="DataGrid1_ItemCreated"

        Public Sub DataGrid1_ItemCreated(ByVal sender As Object, ByVal e As

System.Web.UI.WebControls.DataGridItemEventArgs)
        If e.Item.ItemType = ListItemType.Header Then
            Dim tcl As TableCellCollection = e.Item.Cells
            tcl.Clear()
            tcl.Add(New TableHeaderCell)
            tcl(0).RowSpan = 2
            tcl(0).Text = "个人编码"

            tcl.Add(New TableHeaderCell)
            tcl(1).RowSpan = 2
            tcl(1).Text = "性别"

            tcl.Add(New TableHeaderCell)
            tcl(2).RowSpan = 2
            tcl(2).Text = "姓名"

            tcl.Add(New TableHeaderCell)
            tcl(3).RowSpan = 2
            tcl(3).Text = "服务<br>次数"

            tcl.Add(New TableHeaderCell)
            tcl(4).RowSpan = 2
            tcl(4).Text = "用户<br>修改"

            tcl.Add(New TableHeaderCell)
            tcl(5).RowSpan = 2
            tcl(5).Text = "健康<br>清单"

            tcl.Add(New TableHeaderCell)
            tcl(6).ColumnSpan = 4
            tcl(6).Text = "个人疾病危险性评价</td><td colspan='1' rowspan='2' align=center

valign=middle bgcolor='#0082C6'><font color='#ffffff'>管理<br>处方</font></td><td

rowspan='2' align=center valign=middle bgcolor='#0082C6'><font color='#ffffff'>汇总<br>报告

</font></td><td rowspan='2' align=center valign=middle bgcolor='#0082C6'><font

color='#ffffff'>重点<br>提示</font></td></tr><tr><td bgcolor='#848284' align='center'

valign='middle'><font color='#ffffff'>糖尿病</font></td><td bgcolor='#848284' align='center'

valign='middle'><font color='#ffffff'>中风</font></td><td bgcolor='#848284' align='center'

valign='middle'><font color='#ffffff'>冠心病</font> </td><td bgcolor='#848284'

align='center' valign='middle'><font color='#ffffff'>肺癌</font>"
          
        End If
    End Sub 'DataGrid1_ItemCreated
             关键的部分是
            tcl.Add(New TableHeaderCell)
            tcl(6).ColumnSpan = 4
            tcl(6).Text = "个人疾病危险性评价</td><td colspan='1' rowspan='2' align=center

valign=middle bgcolor='#0082C6'><font color='#ffffff'>管理<br>处方</font></td><td

rowspan='2' align=center valign=middle bgcolor='#0082C6'><font color='#ffffff'>汇总<br>报告

</font></td><td rowspan='2' align=center valign=middle bgcolor='#0082C6'><font

color='#ffffff'>重点<br>提示</font></td></tr><tr><td bgcolor='#848284' align='center'

valign='middle'><font color='#ffffff'>糖尿病</font></td><td bgcolor='#848284' align='center'

valign='middle'><font color='#ffffff'>中风</font></td><td bgcolor='#848284' align='center'

valign='middle'><font color='#ffffff'>冠心病</font> </td><td bgcolor='#848284'

align='center' valign='middle'><font color='#ffffff'>肺癌</font>"
            
                
       我自己的步骤是:现在Table中设计出来结构,然后将双引号变成单引号,在添加到TableHeaderCell.text中就可以了。多复杂的都可以实现。
       希望对还不会使用DataGrid多层表头设计的兄弟们有所帮助!

本文地址:http://com.8s8s.com/it/it40926.htm