We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

How to get the list of dependent cells for a particular cell in WinForms Spreadsheet (SfSpreadsheet)?

Platform: WinForms |
Control: Spreadsheet
Tags: formula

Dependent cells for a particular cell

SfSpreadsheet provides support to get the list of dependent cells for a particular cell. You can get the list of cells dependent on the cell by looping the PrecedentCells of FormulaEngine, like below code example.


public List<String> GetDependentCells(int rowindex,int columnindex)
    var list = new List<string>();
    var grid = Spreadsheet.ActiveGrid;
    var family = FormulaEngine.GetSheetFamilyItem(grid);
    var cellref = family.GetTokenForGridModel(grid) + GridRangeInfo.GetAlphaLabel(columnindex) + rowindex;
    //To get the dependent cell
    if (grid.FormulaEngine.PrecedentCells.ContainsKey(cellref) && grid.FormulaEngine.PrecedentCells[cellref] != null)
    return list;
public void Calculatedependentcell(string precedentCell,List<string> list)
    var grid = Spreadsheet.ActiveGrid;
    if (grid.FormulaEngine.PrecedentCells[precedentCell] == null) return;         
      var ht = (Hashtable)((Hashtable)grid.FormulaEngine.PrecedentCells[precedentCell]).Clone();            
      foreach (var o in ht.Keys)
          var s1 = o as string;
          var row = grid.FormulaEngine.RowIndex(s1);
          var col = grid.FormulaEngine.ColumnIndex(s1);
          var cell = GridRangeInfo.GetAlphaLabel(col) + row;
          if (s1 != null)
             if (ht.Keys.Count == 1)
                Calculatedependentcell(s1,list);//recursive call 

If you want to get the dependent cells of particular cell when its value changed, then subscribe the CellValueChanged event of Worksheet like below.

Spreadsheet.ActiveSheet.CellValueChanged += ActiveSheet_CellValueChanged;
private void ActiveSheet_CellValueChanged(object sender, CellValueChangedEventArgs e)
     var list = GetDependentCells(e.Range.Row, e.Range.Column);





2X faster development

The ultimate WinForms UI toolkit to boost your development speed.
You must log in to leave a comment

Please sign in to access our KB

This page will automatically be redirected to the sign-in page in 10 seconds.

Up arrow icon

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

Live Chat Icon For mobile