GridView 에서 특정 Row 의 Cell 을 Merge 하고 싶은 경우가 있는데 

찾아보니 참고할 만한 소스가 있어 기억을 위해 링크를 남긴다


https://github.com/DevExpress-Examples/how-to-merge-cells-horizontally-in-gridview-via-the-customdrawcell-event-e4039


실행해 보았는데 셀의 내용이 머지가 되기는 한데 가운데 선이 보이게되서 완벽하진 않다.

아래 그림처럼 2번째 행에 내용이 하나로 보여지긴 한데 Cell 간 선이 나타난다;;


테스트한 소스

CS.zip


            using System.Drawing.Text;

            using (InstalledFontCollection fontsCollection = new InstalledFontCollection())
            {
                FontFamily[] fontFamilies = fontsCollection.Families;
                List<string> fonts = new List<string>();
                foreach (FontFamily font in fontFamilies)
                {
                    fonts.Add(font.Name);
                }
             }

Grid 에서 특정 Row 를 숨기는 방법


using System;
using System.Globalization;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

namespace Foobar.Converters
{

    public class StatusToVisibilityConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
        {
            if (Equals(value,null))
                return new GridLength(0);

            var status = value.ToString().ToLower();

            switch (status)
            {
                case ("active"):
                    {
                        return new GridLength(1, GridUnitType.Auto);
                    }
                default:
                    {
                        return new GridLength(0);
                    }
            }
        }
        public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
        {
            throw new NotSupportedException("Only one way bindings are supported with this converter");
        }}
    }
}
<Grid AbsoluteLayout.LayoutFlags="All"
      AbsoluteLayout.LayoutBounds="0,1,1,1">
    <Grid.RowDefinitions>
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="Auto" />
        <RowDefinition Height="{Binding Contact.Status, Converter={convert:StatusToVisibilityConverter}}" />
.....


+ Recent posts