private void GroupedColumns_Changed(object sender, Syncfusion.Collections.ListPropertyChangedEventArgs e)
 {
     if (this.gridGroupingControl1.TableDescriptor.GroupedColumns.Count >= 1)
     {
         foreach (Element el in this.gridGroupingControl1.Table.DisplayElements)
         {
             if (!(el is GridRecordRow))
             {
                 int row = this.gridGroupingControl1.Table.NestedDisplayElements.IndexOf(el);
                 if (this.gridGroupingControl1.Table.NestedDisplayElements[row].IsCaption())
                 {
                     GridCaptionRow crow = (GridCaptionRow)el;
                     Group          gp   = crow.ParentGroup;
                     if (gp.IsExpanded)
                     {
                         crow.Appearance.GroupCaptionPlusMinusCell.CellValue = Image.FromFile(Syncfusion.Windows.Forms.WinFormsUtils.FindFile("res", "minus.png"));
                     }
                     else
                     {
                         crow.Appearance.GroupCaptionPlusMinusCell.CellValue = Image.FromFile(Syncfusion.Windows.Forms.WinFormsUtils.FindFile("res", "plus.png"));
                     }
                 }
             }
         }
     }
 }
 private void VisibleColumns_Changed(object sender, Syncfusion.Collections.ListPropertyChangedEventArgs e)
 {
     visibleCols = new string[this.gridGroupingControl1.TableDescriptor.VisibleColumns.Count];
     for (int i = 0; i < visibleCols.Length; i++)
     {
         visibleCols[i] = this.gridGroupingControl1.TableDescriptor.VisibleColumns[i].Name;
     }
 }