Articles in this section
Category / Section

How to set multiple selection colors in SfDataGrid?

1 min read

SfDataGrid provides support to select one or more rows either programmatically or by touch interactions. By default SfDataGrid applies a common background color for the selected rows based on the current theme. However if your requirement is to have multiple selection colors when touching the rows, then SfDataGrid allows you to achieve this by writing a custom SelectionController derived from GridSelectionController and assigning it to the SfDataGrid.SelectionController property. You can override the GetSelectionColor () method to apply different colors for selection in runtime based on your requirement.

Refer the following code example to set different colors as row background for multiple selection in SfDataGrid.

MainActivity.cs

sfGrid.SelectionController = new CustomSelectionController(sfGrid);
sfGrid.SelectionMode = SelectionMode.Multiple;

 

CustomSelectionController.cs

public class CustomSelectionController : GridSelectionController
{
    public Color[] SelectionColors { get; set; }
 
    public CustomSelectionController(SfDataGrid datagrid)
    {
        this.DataGrid = datagrid;
        SelectionColors = new Color[11] 
        { 
            Color.DarkSalmon,
            Color.DarkSlateGray,
            Color.Red, 
            Color.Blue,
            Color.DarkOliveGreen, 
            Color.Black, 
            Color.Gray, 
            Color.MediumPurple,
            Color.BurlyWood,
            Color.DarkCyan,
            Color.DarkGoldenrod 
        };   
    }
    //Code to set multiple selection colors
    public override Color GetSelectionColor(int rowIndex, object rowData)
    {
        if (SelectionColors != null)
            return SelectionColors[rowIndex % 11];
        else
            return Color.Blue;
    }
}

 

The following screenshot shows the final outcome upon execution of the above code

The working sample for this KB is available in the following link.
http://www.syncfusion.com/downloads/support/directtrac/general/ze/GettingStarted-1588258169


Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please sign in to leave a comment