gaishitaibao 发表于 2012-5-22 16:26:00

在表格中插入一列,提示插入后表格变得太大,能不能让表格自动适应文本大小呢?

在表格中插入一列,提示插入后表格变得太大,能不能让插入后的表格自动适应文本大小呢?

iceman 发表于 2012-5-22 17:08:00

回复 1# gaishitaibao 的帖子

gaishitaibao 你好,
可以获取 table 宽度,在插入后,分别设置 column 宽度从而达到该效果:

private void Form1_Load(object sender, EventArgs e)
      {
            this.textControl1.Tables.Add(5, 5, 11);
      }

      private void insertColumnToolStripMenuItem_Click(object sender, EventArgs e)
      {
            //获取 Table
            TXTextControl.Table table = textControl1.Tables.GetItem(11);

            //获取 Table 宽度
            int tableWidth = 0;
            foreach (TXTextControl.TableColumn item in table.Columns)
            {
                tableWidth += item.Width;
            }

            //插入列
            table.Columns.Add(TXTextControl.TableAddPosition.After);

            //设置插入之后列宽
            int columnCount = table.Columns.Count;
            int averageColumnWidth = tableWidth / columnCount;
            foreach (TXTextControl.TableColumn item in table.Columns)
            {
                item.Width = averageColumnWidth;
            }
      }

gaishitaibao 发表于 2012-5-22 19:27:00

回复 2# iceman 的帖子

多谢多谢,和我的思路基本一样,就是你这样写可能不对,应该为下面这样子,就是应该在插入之前设置列宽。
//获取 Table
            TXTextControl.Table table = textControl1.Tables.GetItem();

            //获取 Table 宽度
            int tableWidth = 0;
            foreach (TXTextControl.TableColumn item in table.Columns)
            {
                tableWidth += item.Width;
            }
            int columnCount = table.Columns.Count;
            if (table.Columns.CanAdd)
            {
                //设置插入之后列宽
                int averageColumnWidth = tableWidth / (columnCount+1);
                foreach (TXTextControl.TableColumn item in table.Columns)
                {
                  item.Width = averageColumnWidth;
                }
                //插入列
                table.Columns.Add(TXTextControl.TableAddPosition.Before);
            }

iceman 发表于 2012-5-23 08:47:00

回复 3# gaishitaibao 的帖子

楼主威武~
页: [1]
查看完整版本: 在表格中插入一列,提示插入后表格变得太大,能不能让表格自动适应文本大小呢?