低版本的 farpoint 没有 AutoSize 如何根据内容自动变更单元格高度
时间: 2023-11-27 21:51:53 浏览: 73
如果你使用的 FarPoint 控件版本较低,没有提供 AutoSize 属性,那么你可以尝试使用以下方法实现根据内容自动变更单元格高度:
1. 获取单元格的内容和字体大小,计算出内容需要的行数。
2. 根据行数计算出单元格的高度。
3. 设置单元格的高度。
具体实现可以参考以下代码:
```csharp
// 获取单元格内容和字体
string text = fpSpread1.ActiveSheet.Cells[row, col].Text;
Font font = fpSpread1.ActiveSheet.Cells[row, col].Font;
// 计算内容需要的行数
int rowCount = 1;
int charCount = 0;
foreach (char c in text)
{
charCount++;
if (c == '\n' || charCount >= fpSpread1.ActiveSheet.Columns[col].Width)
{
rowCount++;
charCount = 0;
}
}
// 计算单元格高度
int cellHeight = rowCount * fpSpread1.ActiveSheet.Rows[row].Height;
// 设置单元格高度
fpSpread1.ActiveSheet.Rows[row].Height = cellHeight;
```
需要注意的是,这种方法只能适用于单元格中只有文本内容的情况,如果单元格中还包含了图片、超链接等其它控件,就需要使用其它的方法来计算单元格的高度了。
阅读全文