[]
        
(Showing Draft Content)

서식 문화 대화상자 사용자 정의

셀 서식 창에서 디자이너 컴포넌트의 문화권 대화 상자를 사용자 지정할 수 있습니다. Spread.Common.CultureInfo 클래스를 사용하면 로캘 ID, 표시 이름 및 미리 정의된 형식(통화, 회계, 날짜, 시간, 기타)을 비롯한 속성을 통해 새로운 문화권 옵션을 정의할 수 있습니다.

  1. 디자이너 인스턴스를 초기화합니다.

    // Initialize the designer component
    var designer = new GC.Spread.Sheets.Designer.Designer("designerHost");
  2. CultureInfo 생성자 메서드를 사용하여 문화권 정보 인스턴스를 가져옵니다. 이 인스턴스는 사용자 지정 문화권 클래스를 나타냅니다.

    // Get the culture info instance
    var cultureInfo = new GC.Spread.Common.CultureInfo()
  3. 서식 창에 표시할 문화권 정보 속성을 설정합니다. 사용 가능한 모든 로캘 ID에 대한 자세한 내용은 Microsoft 로캘 ID 정의를 참조하세요.

    // Set new culture info for German
    cultureInfo.displayName = "German (Germany)"
    cultureInfo.name = function () { return "de-DE" }
    cultureInfo.id = 0x407;
    cultureInfo.predefinedFormats.Accounting = '_-* #,##0. [$€-407]_-;-* #,##0. [$€-407]_-;_-* "-". [$€-407]_-;_-@_-';
    cultureInfo.predefinedFormats.Currency = [
        "#,##0. [$€-407]",
        "#,##0. [$€-407];[Red]#,##0. [$€-407]",
        "#,##0. [$€-407];-#,##0. [$€-407]",
        "#,##0. [$€-407];[Red]-#,##0. [$€-407]"
    ];
    cultureInfo.predefinedFormats.Date = [
        "yyyy-mm-dd;@",
        "d.m;@",
        "d.m.yy;@",
        "dd.mm.yy;@",
        "[$-407]d. mmm.;@",
        "[$-407]d. mmm. yy;@",
        "[$-407]d. mmm yy;@",
        "[$-407]mmm. yy;@",
        "[$-407]mmmm yy;@",
        "[$-407]d. mmm yy;@",
        "[$-409]d/m/yy h:mm AM/PM;@",
        "d.m.yy h:mm;@",
        "[$-407]mmmmm;@",
        "[$-407]mmmmm yy;@",
        "d.m.yyyy;@",
        "[$-407]d. mmm. yyyy;@"
    ]
    cultureInfo.predefinedFormats.Time = [
        "h:mm;@",
        "[$-409]h:mm AM/PM;@",
        "h:mm:ss;@",
        "[$-409]h:mm:ss AM/PM;@",
        "mm:ss.0;@",
        "[h]:mm:ss;@",
        "[$-409]d/m/yy h:mm AM/PM;@",
        "d.m.yy h:mm;@"
    ]
    cultureInfo.predefinedFormats.Special = {
        "Postleitzahl": "00000",
        "Postleitzahl (A)": "\A-00000",
        "Postleitzahl (CH)": "C\H-00000",
        "Postleitzahl (D)": "\D-00000",
        "Postleitzahl (L)": "L-00000",
        "Versicherungsnachweis-Nr. (D)": "\[@\]",
        "Sozialversicherungsnummer (A)": "0000-00 00 00",
        "Sozialversicherungsnummer (CH)": "000\.00\.000\.000",
        "ISBN-Format (ISBN x-xxx-xxxxx-x)": "I\S\B\N #-###-#####-#",
        "ISBN-Format (ISBN x-xxxx-xxxx-x)": "I\S\B\N #-####-####-#",
        "ISBN-Format (ISBN x-xxxxx-xxx-x)": "I\S\B\N #-#####-###-#"
    }
  4. addCultureInfo 메서드를 사용하여 새 문화권 정보 개체를 추가합니다.

    // Add new culture info
    GC.Spread.Common.CultureManager.addCultureInfo(cultureInfo.name(), cultureInfo);

다음과 같은 결과가 생성됩니다.

SpreadJS Designer demonstrates adding a German CultureInfo with locale-specific currency, accounting, date, time, and special formats to the cell format window.

사용자 지정 숫자 형식의 CJK 이스케이프 문자

CJK 로캘에서 디자이너 컴포넌트는 사용자 지정 숫자 형식 입력 시 느낌표(!)를 이스케이프 문자로 지원합니다. 이 동작은 중국어, 일본어 및 한국어 환경에서 Excel과 유사한 현지화된 입력 환경을 제공합니다.

예를 들어 CJK 로캘에서는 다음 사용자 지정 숫자 형식에서 !를 사용하여 소수점을 이스케이프합니다.

0!.0,"万"

이 형식은 다음 형식과 동일합니다.

0\.0,"万"

두 형식 모두 120001.2万으로 표시할 수 있습니다.

image-20260707.703617.png

CJK가 아닌 로캘에서는 !가 이스케이프 문자로 처리되지 않습니다. 대신 백슬래시(\) 이스케이프 문자를 사용합니다.

0\.0,"万"

image-20260707.f11ed1.png

참고: ! 이스케이프 동작은 CJK 로캘에서 디자이너 컴포넌트의 사용자 지정 숫자 형식 입력에 적용됩니다. 호환성을 위해 백슬래시(\) 이스케이프 문자도 계속 지원됩니다.