Table 控件单元格的动态合并技术 .

 

一、引言
  Table 控件可以用给定的静态内容在设计时生成表, 但Table 控件的威力通常在用动态内容以编程方式生成表时才会体现出来。Table 控件允许生成HTML 表并以直接方式指定其属性。Table 类主要由控件开发人员使用。
  所有的Web 控件都有两个基本属性, 第一个属性是runat ="server", 它告诉ASP.NET 在服务器上处理控件, 并为控件执行所有的ASP.NET 功能, 包括状态的创建。第二个属性是ID, 指明该控件的唯一标识代号, 以便在代码中操纵该控件。
  Table 控件主要由3 个组件组成:Table、TableRow和TableCell。
二、动态创建表
  动态地创建一个表一般包含三个步骤:
  ( 1) 在.aspx 文件中, 在<body></body>里用一个asp 标签创建Table1 控件, Table1 就是一个对象。
  <body>
    <form id="Form1" method="post" runat="server">
      <asp:Table id="Table1" runat="server"> </asp:Table>
  </body>
  Table 的具体生成可在<script></script>中通过函数写在.aspx文件中完成, 也可直接写在.cs 文件中。在具体生成上根据如下过程的:
  ( 2) 创建表格行对象TableRow(), 并向表中添加该行, 根据需要设置表格行的相关属性。
  ( 3) 创建表格单元格对象TableCell(), 并向表行中添加该单元格, 根据需要设置单元格的相关属性。
  ( 4) 对表中的各行重复(2)(3)过程。
  实现方法的核心代码如下:

        private void DrawTable(ref Table table, ref int seed)
        {

            TableRow r; // 表格行对象
            TableCell c; // 表格单元格对象
            TextBox txt;
            for (int k = 0; k < 10; k++) // 行数控制
            {

                int s = 0; // 列标识变量
                r = new TableRow(); table.Rows.Add(r); // 创建行
                // 第0 列
                c = new TableCell(); r.Cells.Add(c); // 创建列
                c.ID = "aaa";
                c.Text = k.ToString(); // 第0 列内容
               
                // 第1 列
                c = new TableCell(); r.Cells.Add(c); // 创建列
                txt = new TextBox();
                txt.ID = "Txt"+k.ToString();
                c.ID = "bbb";
                c.Text = k.ToString(); // 第1 列内容
                c.Controls.Add(txt);
            }
        }

  上述创建的是一个表格的表体的结构, 其内容根据具体需要可从数据库中获得。

三、表格标题行的创建与单元格合并
  实际上, 表格标题行是按行构成的。如下面的示例表格中"院系"、"专业"、"班级"、"招生"和"备注"是第0 行, 而"人数"和"女生"是第1 行。其中"院系"、"业"、"班级"和"备注"占2 行, "招生"占2 列。
  单元格合并主要用到单元格的RowSpan 和ColumnSpan 两个属性。实现示例表格标题行的核心代码如下:
  private void SetTableHead(Table table, ref int seed)
  { // 第0 行
    TableRow r = new TableRow(); table.Rows.Add(r);
    TableHeaderCell h; // 标题行单元格对象
    string[] sa1 = {"院系", "专业", "班级"};
    for (int col = 0; col < 3; col++)
    {
      h = new TableHeaderCell(); r.Cells.Add(h); // 创建列
      h.RowSpan = 2; // 占2 行
      h.ID = ProduceID(ref seed, col);
      h.Text = sa1[col];
    }
    h = new TableHeaderCell(); row1.Cells.Add(h);
    h.ColumnSpan = 2; // 占2 列
    h.Text = "招生";
    h = new TableHeaderCell(); row1.Cells.Add(h);
    h.RowSpan = 2; // 占2 行
    h.Text = "备注";
    // 第1 行
    r = new TableRow(); table.Rows.Add(r); // 创建行
    h = new TableHeaderCell(); r.Cells.Add(h); // 创建列
    h.Text = "人数";
    h = new TableHeaderCell(); r.Cells.Add(h);
    h.Text = "女生";
  }

四、表体单元格合并
  由于表体中数据具有动态性的特点, 其纵向合并方法, 一般是逐行判断要合并的单元格里的值是否和上一行同列的相同,要是相同的话就合并, 不同的话就接着判断。
  该方法的核心代码如下:
  private void SetTableHead(Table table, ref int seed)
        {
            // 第0 行
            TableRow r = new TableRow(); table.Rows.Add(r);
            TableHeaderCell h; // 标题行单元格对象
            string[] sa1 = { "院系", "专业", "班级" };
            for (int col = 0; col < 3; col++)
            {
                h = new TableHeaderCell(); r.Cells.Add(h); // 创建列
                h.RowSpan = 2; // 占2 行
                h.ID = "ccc";
                h.Text = sa1[col];
            }
            h = new TableHeaderCell(); r.Cells.Add(h);
            h.ColumnSpan = 2; // 占2 列
            h.Text = "招生";
            h = new TableHeaderCell(); r.Cells.Add(h);
            h.RowSpan = 2; // 占2 行
            h.Text = "备注";
            // 第1 行
            r = new TableRow(); table.Rows.Add(r); // 创建行
            h = new TableHeaderCell(); r.Cells.Add(h); // 创建列
            h.Text = "人数";
            h = new TableHeaderCell(); r.Cells.Add(h);
            h.Text = "女生";
        }
五、调用
  private int m_Seed = 0; //
  private void Page_Load(object sender, System.EventArgs e)
  {

    this.SetTableHead(Table1, ref m_Seed); // 标题行
    this.DrawTable(ref Table1, ref m_Seed); // 表体
    ColMerge(ref Table1, 0, 1); //从第1 行起合并第0 列
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: LabVIEW 是一款强大的图形化编程工具,用于快速开发各种自动化控制系统和实验室测试和测量系统。在 LabVIEW 中,可以使用表格控件来显示和编辑数据。 当需要将多个单元格合并成一个单元格时,我们可以使用 LabVIEW 中的表格控件合并单元格功能。合并以后的单元格将显示为一个大的单元格,其中包含所有合并单元格数据。这可以让显示更整洁,达到视觉效果的目的。 要合并单元格,请首先在 LabVIEW 中添加一个表格控件,并确保表格控件具有足够的行和列。然后双击表格控件打开其编辑器。在编辑器中,您将看到表格的所有单元格。 要合并单元格,请首先选择要合并单元格。然后右键单击鼠标,在弹出菜单中选择“合并单元格”选项。合并后,要恢复原始单元格,只需右键单击要分裂的单元格,然后选择“拆分单元格”选项即可。 总之,LabVIEW 中的表格控件可以让用户轻松地显示和编辑数据。合并单元格是一项有用的功能,可以让数据更好地显示,提高可读性和可视性。 ### 回答2: 在LabVIEW中,合并单元格是一个非常简单的操作。您可以使用LabVIEW的Table工具来创建表格,然后在表格上单击右键。在右键菜单中,选择“合并单元格”选项。 当您选择了“合并单元格”选项后,LabVIEW将弹出一个对话框,让您选择要合并单元格。您只需单击每个您想要合并单元格,然后单击“确定”按钮。 合并单元格后,LabVIEW将自动调整表格的大小,并将所选单元格内容合并到一个单元格中。您可以将该单元格视为一个单独的单元格,其大小和单元格内容也与之前的单元格有所不同。 在LabVIEW中,合并单元格非常有用,特别是当您想要将多个单元格合并为一个单元格,以便更好地管理表格时。无论是在数据分析、实验研究还是数据报告中,表格都是常见的数据处理方式。因此,了解如何在LabVIEW中合并单元格可以使您更高效地处理数据。 ### 回答3: 在 LabVIEW 的表格中,要合并单元格可以通过以下步骤实现: 1. 点击要合并的第一个单元格,然后按住 Shift 键选中要合并单元格区域。 2. 在右键菜单中选择“单元格合并”。 3. 确认合并单元格的位置和大小是否符合要求。 通过合并单元格可以使表格的视觉效果更加美观,也方便用户对数据进行查看。在实际应用中,经常需要将几个单元格合并为一个单元格,以便于表格的展示和数据的分析。例如,在制作考勤表或者成绩表时,需要将某些单元格合并为一个单元格,以便于查看和比较。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值