develop

devExpress BandedGridview 헤더에서 자식 밴드 찾기

파드파드 2021. 10. 27. 16:01
반응형

devExpress BandedGridview 헤더에서 자식 밴드 찾기~

    //에
    
    //1. 밴드에서 하위 밴드 찾기.
    private void SetBandHeaderGrv(BandedGridView bgrv)
    {
        for (int i = 0; i < bgrv.Bands.Count; i++)
        {
            if (bgrv.Bands[i].HasChildren)
            {
                SetBandHeader(bgrv.Bands[i]);
            }
        }
    }
    
    //2. 하위밴드 찾고, 다시 하위밴드가 있는 지 여부를 재귀 방식으로 호출.
    // 최종 단계에서 코드 적용.
    private void SetBandHeader(GridBand band)
    {
        if (band.HasChildren)
        {
            //
            foreach (GridBand child_band in band.Children)
            {
                if (child_band.HasChildren)
                {
                    SetBandHeader(child_band);
                }
                else
                {
                    //최종 밴드 
                    string s = child_band.Caption;
                    if (s == "")
                    {
                        child_band.AppearanceHeader.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold);
                        child_band.AppearanceHeader.Options.UseFont = true;
                        child_band.AppearanceHeader.Options.UseTextOptions = true;
                        child_band.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Far;
                    }
                }
            }
        }
        else
        {
            //여기는 그닥 필요 있으려나...
            string s = band.Caption;
            if (s == "")
            {
                band.AppearanceHeader.Font = new System.Drawing.Font("맑은 고딕", 9F, System.Drawing.FontStyle.Bold);
                band.AppearanceHeader.Options.UseFont = true;
                band.AppearanceHeader.Options.UseTextOptions = true;
                band.AppearanceHeader.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
            }
        }
    }
반응형