편도준 님, 안녕하세요.
그레이프시티입니다.
먼저, Spread에서 셀 내 텍스트를 모두 선택하는 것을 의미하는 명칭은 별도로 존재하지 않습니다.
특정 행에 위치한 셀이 편집모드에 진입할 때, 기존에 입력된 셀 내 데이터를 모두 선택하고 싶은 경우 EditModeOn 이벤트와 StartEditing 메소드를 활용하실 수 있습니다.
EditModeOn은 편집모드가 시작될 때 발생하는 이벤트입니다.
StartEditing 메소드는 특정 옵션으로 셀 editing을 시작할 때 사용하는 메소드입니다. StartEditing 메소드의 두번째 인자(bool selectAll)로 "true"를 입력하면, 셀이 편집모드에 진입할 때 기존 콘텐츠를 모두 선택(영역 지정)할 수 있습니다.
아래 샘플 코드에서는 RowIndex가 5인 행에 대해서, 셀이 편집모드에 진입할 때 기존 콘텐츠가 모두 선택되도록 설정하였습니다. 샘플 코드를 개발 시 참고하여주시기 바랍니다.
private void Form1_Load(object sender, EventArgs e)
{
// 샘플 데이터 입력
fpSpread1.ActiveSheet.Cells[1, 1].Text = "abc";
fpSpread1.ActiveSheet.Cells[3, 4].Text = "abc";
fpSpread1.ActiveSheet.Cells[5, 2].Text = "abc";
// 셀 타입 지정
fpSpread1.ActiveSheet.Rows[5].CellType = new FarPoint.Win.Spread.CellType.GeneralCellType();
// EditModeOn 이벤트 설정
fpSpread1.EditModeOn += FpSpread1_EditModeOn;
}
private void FpSpread1_EditModeOn(object sender, EventArgs e)
{
// 특정 행일 떄
if (fpSpread1.ActiveSheet.ActiveRowIndex == 5)
{
// 셀에 입력된 기존 콘텐츠를 전체 선택하며 셀 editing 시작
fpSpread1.ActiveSheet.ActiveCell.CellType.StartEditing(e, true, false);
}
}
단, 상기 방법의 경우 특정 행(샘플에서는 RowIndex가 5인 행)의 CellType이 지정되어 있어야 적용할 수 있는 방법입니다. FpSpread 컨트롤을 올렸을 때 기본적으로 모든 셀의 CellType은 지정되지 않은 상태(null)입니다. 따라서 원하시는 행의 CellType을 설정한 후, StartEditing 메소드를 사용해주시기 바랍니다.
또한, "EditModeReplace" 속성 값을 true로 설정하시면, 특정 행이 아닌 모든 행(스프레드 전체)의 셀이 편집모드로 들어갈 때 기존 콘텐츠를 선택(영역지정)하실 수 있습니다.
fpSpread1.EditModeReplace = true;
다른 궁금한 점이 생기면, 문의 주시기 바랍니다.
감사합니다.
그레이프시티 드림