Spread for .NET

spread for.NET grouping 확장/축소 (feat. coding)

하_늘_바_람 2022. 5. 13. 14:03

위의 이미지에서 각 그룹 헤더에서 마우스 더블클릭 혹은 키를 눌러서 확장 및 축소를 할 경우 어떻게 해야 할까?
답은 GroupDataModel 의 IsGroup 메소드와 GetGroup 메소드를 이용하면 된다.  ※ 예제코드 참조.

private void sprSpread_KeyDown(object sender, KeyEventArgs e) {
    if (e.KeyCode == Keys.Space) {
        if ((sprSpread.ActiveSheet.Models.Data as GroupDataModel).IsGroup(sprSpread.ActiveSheet
                .ActiveRowIndex)) {
            (sprSpread.ActiveSheet.Models.Data as GroupDataModel).GetGroup(sprSpread.ActiveSheet
                .ActiveRowIndex).Expanded = !(sprSpread.ActiveSheet.Models.Data as GroupDataModel).GetGroup(
                sprSpread.ActiveSheet
                    .ActiveRowIndex).Expanded;
        }
    }

}

private void sprSpread_CellDoubleClick(object sender, CellClickEventArgs e) {
    if ((sprSpread.ActiveSheet.Models.Data as GroupDataModel).IsGroup(sprSpread.ActiveSheet
            .ActiveRowIndex)) {
        (sprSpread.ActiveSheet.Models.Data as GroupDataModel).GetGroup(sprSpread.ActiveSheet
            .ActiveRowIndex).Expanded = !(sprSpread.ActiveSheet.Models.Data as GroupDataModel).GetGroup(
            sprSpread.ActiveSheet
                .ActiveRowIndex).Expanded;
    }
}