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
  • 相关阅读:
    仓储模式Repository
    jwt测试
    net core webapi jwt
    net core发布到iis遇到的困难
    新的目标
    L9-2.安装mysql数据库
    L9-1-安装Apache
    L8_2
    Linux 08
    Linux 07 故障恢复
  • 原文地址:https://www.cnblogs.com/goody9807/p/220143.html
Copyright © 2011-2022 走看看