TX Text Control 中表格操作之获取选中单元格坐标

发布时间:2013/09/25 00:09 发布者:jian

返回博客中心

TX Text Control 中为表格操作提供的丰富的编程接口,可以通过代码和集成对话框完成表格的插入、删除、合并、拆分以及表格样式设置等操作。本文主要是讲解如何获取当前表格中选中的单元格坐标。基本思路是获取TX中当前选中的范围,然后将单元格的坐标与选中范围作比较,以确定单元格是否被选中。

代码如下:

    // 获取选中的单元格坐标
    private string GetSelectedCells() 
    {
        StringBuilder sb = new StringBuilder();
        Table table = textControl1.Tables.GetItem();
            
        Selection curSelection = new Selection(textControl1.Selection.Start,textControl1.Selection.Length);
        textControl1.Selection.Length = 0;
        // 获取选中单元格的起始单元格坐标
        int iTableStartRow = table.Cells.GetItem().Row;
        int iTableStartCol = table.Cells.GetItem().Column;
            
        if (curSelection.Length != 0)
        {
            textControl1.Selection.Start = curSelection.Start + curSelection.Length - 1;
        }
            
        // 获取选中单元格截止单元格坐标
        int iTableEndRow = table.Cells.GetItem().Row;
        int iTableEndCol = table.Cells.GetItem().Column;
        // 循环所有单元格以检查当前单元格是否在选中单元格范围内
        foreach (TableCell cell in textControl1.Tables.GetItem().Cells)
        {
            if (cell.Row >= iTableStartRow && cell.Row <= iTableEndRow && cell.Column <= iTableEndCol && cell.Column >= iTableStartCol)
                sb.Append(string.Format("[{0},{1}] ",cell.Row,cell.Column));
        }
        return sb.ToString();
    }

SelectedTableCells

源码下载:TX Text Control for WinForms X9

 


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网