Bonjour

Je me bats avec un datagridview pour remettre le tri en place et reselectionner un row apres un rebinding

En gros voici le code inclus dans le DataBindingComplete

Ce qui pose souci c'est que si le DGV doit etre retrié, (SortResult != null)
Alors le FirstDisplayedScrollingRowIndex ne s'affiche pas
Dans le if (a > -1) le code est surdimensionné mais reflete mes tentatives désespérées pour trouver le truc

Ca marche tres bien sans tri !! ??

Merci aux éclairés qui auraient une idée


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
     if (SortResult != null)
      {
        DataGridViewColumn clx = DgvResults.Columns[SortResult.SortColumn];
        DgvResults.Sort(clx, SortResult.Direction);
        SortResult = null;
      }
 
      if (curInscrIDRes > -1)
      {
        int a=ToolsForForms.DgvSetRow(DgvResults, "InscrId", curInscrIDRes);
        if (a > -1)
        {
          DgvResults.FirstDisplayedScrollingRowIndex = a;
          DgvResults.Refresh();
          DgvResults.CurrentCell = DgvResults.Rows[a].Cells[0];
          DgvResults.Rows[a].Selected = true;
          DgvResults.FirstDisplayedScrollingRowIndex = a;
          DgvResults.CurrentCell = DgvResults.Rows[a].Cells[0];
        }
        curInscrIDRes = -1;
      }