GC맨 님, 안녕하세요.
그레이프시티입니다.
상세한 설명과 함께 문의주심에 감사드립니다.
시트의 ReferenceStyle을 R1C1 스타일로 설정하신 후 적용하신 것이 맞으실까요?
만약 그렇다면, 전달해주신 설정을 적용하였을 때 다음과 같이 정상적으로 서식이 적용되는 것으로 확인됩니다.
// 샘플 데이터 설정
for (int i = 0; i < 10; i++)
{
fpSpread1.ActiveSheet.Cells[i, 0].Value = "A";
}
fpSpread1.ActiveSheet.Cells[4, 0].Value = "b";
fpSpread1.ActiveSheet.Cells[5, 0].Value = "b";
fpSpread1.ActiveSheet.Cells[6, 0].Value = "b";
fpSpread1.ActiveSheet.Cells[8, 0].Value = "b";
// 참조 스타일을 R1C1 스타일로 지정
fpSpread1.ActiveSheet.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
// 조건부서식 설정 및 적용
FarPoint.Win.Spread.UnaryComparisonConditionalFormattingRule unary = new FarPoint.Win.Spread.UnaryComparisonConditionalFormattingRule(FarPoint.Win.Spread.UnaryComparisonOperator.NotEqualTo, "R[-1]C", true);
unary.ForeColor = Color.Red;
fpSpread1.ActiveSheet.SetConditionalFormatting(0, 0, 10, 1, unary);
혹시 isFormula 값이 false로 설정된 것은 아닌지 다시 한 번 확인 부탁드립니다.
상기 샘플 코드와 동일하게 설정하였음에도 이슈가 지속되는 경우, 저희쪽에서 실행하여 해당 이슈를 재현해볼 수 있는 간단한 샘플 코드 혹은 프로젝트를 공유 부탁드립니다. 공유해주신 샘플을 바탕으로 추가 확인 후 적용 가능한 방법을 확인하여 안내드릴 수 있도록 하겠습니다.
아울러, 만약 R1C1 참조 스타일을 사용하지 않으신다면, 아래 샘플코드와 같이 수식 조건부 서식을 적용해보실 것을 안내드립니다.
// 샘플 데이터 설정
for (int i = 0; i < 10; i++)
{
fpSpread1.ActiveSheet.Cells[i, 0].Value = "A";
}
fpSpread1.ActiveSheet.Cells[4, 0].Value = "b";
fpSpread1.ActiveSheet.Cells[5, 0].Value = "b";
fpSpread1.ActiveSheet.Cells[6, 0].Value = "b";
fpSpread1.ActiveSheet.Cells[8, 0].Value = "b";
// 조건부서식 설정 및 적용
// 이때 행 번호는, 조건부 서식을 적용하는 범위 시작행의 행 번호로 변경합니다.
string formula = "=IF(ROW($A1)=1,$A1,OFFSET($A1,-1,0))<>$A1";
// 또는
// string formula = "=IF(OR(ISERROR(OFFSET($A1,-1,0)),ISBLANK(OFFSET($A1,-1,0))),FALSE,OFFSET($A1,-1,0)<>$A1)";
FarPoint.Win.Spread.FormulaConditionalFormattingRule rule = new FarPoint.Win.Spread.FormulaConditionalFormattingRule(formula);
rule.ForeColor = Color.Red;
fpSpread1.ActiveSheet.SetConditionalFormatting(0, 0, 10, 1, rule);
추가로 궁금하신 점이 있을 경우, 문의주시기 바랍니다.
감사합니다.
그레이프시티 드림