zoukankan      html  css  js  c++  java
  • [转帖]DataGrid显示双层表头,即可实现合并单元格问题

    http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=B3F3462D-DC34-41CE-9FEE-6965B2A3D1AD
    假设你的DataGrid有三列,现在想将前两列作为"大类1",第三列作为"大类2",现在,你可以在ItemDataBound事件中加入下面的代码:
    if (e.Item.ItemType == ListItemType.Header)
    {
         e.Item.Cells[0].ColumnSpan = 2;
         e.Item.Cells[0].Text = "大类1</td><td>大类2</td></tr><tr><td>" + e.Item.Cells[0].Text;
    }
    用这个方法可以为任意添加新行。
     C#
    if (e.Item.ItemType == ListItemType.Header)
                     {
                           DataGridItem dgi = new DataGridItem(0,-1,ListItemType.Header);
                           DataGridItem dgi1= new DataGridItem(0,-1,ListItemType.Header);
                           Table tb = new Table();
                           tb = (Table)DataGrid1.Controls[0];
                           tb.Rows.AddAt(0,dgi);
                           tb.Rows.AddAt(1,dgi1);
                           TableCell tc = new TableCell();
                           TableCell tc1 = new TableCell();
                           TableCell tc2 = new TableCell();
                           TableCell tc22 = new TableCell();
                           tc.Text = "ddd";
                           tc.ColumnSpan = 1;
                           dgi.Cells.Add(tc);
                           tc1.Text = "ddd2";
                           tc1.ColumnSpan = 1;
                           dgi.Cells.Add(tc1);
                           tc2.Text = "ddd";
                           tc2.ColumnSpan = 1;
                           dgi1.Cells.Add(tc2);
                           tc22.Text = "ddd2";
                           tc22.ColumnSpan = 1;
                           dgi1.Cells.Add(tc22);
                     
                     }


    VB.NET显示双层表头
        Dim dgi As DataGridItem
            Dim dgi1 As DataGridItem
            Dim tc As New TableCell()
            Dim tc1 As New TableCell()
            Dim tc2 As New TableCell()
            Dim tc22 As New TableCell()
            Dim tb As New Table()
            If (e.Item.ItemType = ListItemType.Header) Then

                dgi = New DataGridItem(0, -1, ListItemType.Header)
                dgi1 = New DataGridItem(0, -1, ListItemType.Header)
                tb = CType(DataGrid1.Controls(0), Table)
                tb.Rows.AddAt(0, dgi)
                tb.Rows.AddAt(1, dgi1)
                tc.Text = "ddd"
                tc.ColumnSpan = 1
                dgi.Cells.Add(tc)
                tc1.Text = "ddd2"
                tc1.ColumnSpan = 1
                dgi.Cells.Add(tc1)

                tc2.Text = "ddd"
                tc2.ColumnSpan = 1
                dgi1.Cells.Add(tc2)
                tc22.Text = "ddd2"
                tc22.ColumnSpan = 1
                dgi1.Cells.Add(tc22)
            End If
  • 相关阅读:
    python 基于os模块的常用操作
    python 文件的读写
    Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 实践
    Docker(四):Docker 三剑客之 Docker Compose
    Docker(三):Dockerfile 命令详解
    Docker(二):Dockerfile 使用介绍
    Docker(一):Docker入门教程
    虚拟机vmware centos7 扩展磁盘空间
    那些年我们遇到的坑(1)-Description Resource Path Location Type Archive for required library
    RPM安装命令总结
  • 原文地址:https://www.cnblogs.com/goody9807/p/220143.html
Copyright © 2011-2022 走看看