Articles in this section
Category / Section

How to apply 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.

ViewController.cs

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

 

CustomSelectionController.cs

public class CustomSelectionController : GridSelectionController
{
   public UIColor[] SelectionColors { get; set; }
 
   public CustomSelectionController(SfDataGrid dataGrid)
   {
      this.DataGrid = dataGrid;
      SelectionColors = new UIColor[11] 
      {
         UIColor.Orange,
         UIColor.FromRGB(201,93,55),
         UIColor.FromRGB(123,149,52),
         UIColor.Red,
         UIColor.Black,
         UIColor.Brown,
         UIColor.FromRGB(42,159,214),
         UIColor.Gray,
         UIColor.FromRGB(24,123,67),
         UIColor.Purple,
         UIColor.FromRGB(72,173,170)
      };
   }
   //code to set multipe selection colors
   public override UIColor GetSelectionColor(int rowIndex, object rowData)
   {
      if (SelectionColors != null && rowIndex != -1)
                   return SelectionColors[rowIndex % 11];
      else
                   return UIColor.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/MultipleSelection1745536475


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