Reis 님, 안녕하세요.
그레이프시티입니다.
아쉽게도, 말씀하신 것과 같이 "축소 맞춤 표시(ShrinkToFit)"와 "자동 줄 바꿈(WordWrap)"은 동시에 적용할 수 없는 기능입니다. 이는 엑셀에서도 동일하게 동작하는 것을 확인하실 수 있습니다.
원하시는 도움을 드리지 못해 죄송합니다.
만일 행 높이가 반드시 고정되어야 하는 것이 아니라면, WordWrap 기능과 GetPreferredHeight() 메소드를 사용하여, 줄 바꿈 된 긴 텍스트의 높이에 맞게 행의 높이를 조절하는 방법도 고려해보실 것을 제안드립니다.
하기 샘플 코드를 개발 시 참고 부탁드립니다.
private void Form1_Load(object sender, EventArgs e)
{
fpSpread1.ActiveSheet.SetColumnWidth(0, 200);
// 텍스트 자동 줄 바꿈을 활성화 하고, A1셀의 셀 타입을 TextCellType으로 설정합니다.
FarPoint.Win.Spread.CellType.TextCellType text = new FarPoint.Win.Spread.CellType.TextCellType();
text.WordWrap = true;
fpSpread1.ActiveSheet.Cells[0, 0].CellType = text;
// 셀에 긴 텍스트를 입력하고, 행 높이를 줄바꿈 된 텍스트 높이에 맞게 설정합니다.
fpSpread1.ActiveSheet.Cells[0, 0].Value = "1가나다라마바사 아자차카타파하 21가나다라마바사 아자차카타파하 31가나다라마바사 아자차카타파하";
fpSpread1.ActiveSheet.Rows[0].Height = fpSpread1.ActiveSheet.Rows[0].GetPreferredHeight();
// 사용자가 셀의 값을 변경하였을 때, 행 높이를 변경하기 위해 CellChanged 이벤트를 사용합니다.
fpSpread1.ActiveSheet.CellChanged += ActiveSheet_CellChanged;
}
private void ActiveSheet_CellChanged(object sender, FarPoint.Win.Spread.SheetViewEventArgs e)
{
fpSpread1.ActiveSheet.Rows[e.Row].Height = fpSpread1.ActiveSheet.Rows[e.Row].GetPreferredHeight();
}
다른 궁금한 점이 있을 경우, 문의주시기 바랍니다.
감사합니다,
그레이프시티 드림