• [转帖]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
  • 相关阅读:
    java request.getInputStream中文乱码解决方案
    MySql5.7配置文件my.ini 设置 my.ini文件路径
    PostgreSQL抛错“不良的类型值: long”之解决
    PostgreSQL-JDBC疑似bug:部分接口参数的表名、列名必须全部小写
    PostgreSQL的空串、空值对唯一性约束的影响
    JPA/Hibernate移植到PostgreSQL时关于CLOB, BLOB及JSON类型的处理
    PostgreSQL函数自动Commit/Rollback所带来的问题
    JBoss EAP 为应用项目配置PostgreSQL数据源
    PostgreSQL 9.4使用UUID
    PostgreSQL视图使用特殊名称作字段时的处理
  • 原文地址:https://www.cnblogs.com/goody9807/p/220143.html
Copyright © 2020-2023  润新知