[DevExpress] GridView disable cell edit 하는 방법 (cancel cell edit)

DevExpress GridView에서 특정 셀의 편집을 취소하는 방법은 gridView_ShowingEditor 이벤트를 사용하는 방식으로 처리할 수 있어요. gridView_ShowingEditor는 편집이 시작되기 전에 발생하므로, 여기서 조건에 따라 셀 편집을 비활성화할 수 있답니다.

GridView disable cell edit

특정 컬럼의 셀이 특정 값일 때 편집을 취소하는 기능을 구현해 보도록 하겠습니다.

private void gridView_ShowingEditor(object sender, System.ComponentModel.CancelEventArgs e)
{
    if (sender is GridView view)
    {
        switch (view.FocusedColumn.FieldName)
        {
            case "specific_column": // 특정 컬럼에 대해 편집을 제어
                if (view.GetRowCellValue(view.FocusedRowHandle, "target_Column")?.ToString() == "VALUE")
                {
                    e.Cancel = true; // 편집 취소
                }
                break;
            default:
                break;
        }
    }
}

코드 설명

  1. gridView_ShowingEditor 이벤트가 발생하면, 사용자가 셀을 편집하려고 할 때 그 시점을 잡아서 특정 조건을 확인합니다.
  2. sender 객체가 GridView인지 확인한 후, 현재 포커스된 열을 확인합니다.
  3. 그 다음, 특정 컬럼 값을 확인하고, e.Cancel = true;로 편집을 취소합니다.

작동 방식

  • 특정 셀에서만 편집을 취소하려는 조건이 있으면, e.Canceltrue로 설정하여 그 셀에 대한 편집을 비활성화합니다.
  • 조건에 맞지 않으면 그대로 편집을 허용합니다.
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗