2010-11-24 7 views
0

Info:Infragistics UltraGrid: Impossible d'entrer en mode édition pour la colonne centrée

Je travaille avec une application .NET 3.5 C# WinForms et en utilisant Infragistics ultrgrid 8.2 en elle. La grille a 5 colonnes, dont les trois premières sont en lecture seule et les 4ème et 5ème sont des listes déroulantes valables. La 4ème colonne s'appelle "De".

Qu'est-ce que je veux atteindre:

Lorsque formulaire lancements, je veux mettre l'accent à la première cellule de la ligne pour la colonne « De » et aussi en mode d'édition.

Qu'ai-je code:

j'ai écrit ci-dessous fonction


private void SetFocus()

{ 
     _grid.Focus(); 
     _grid.ActiveCell = _grid.Rows[0].Cells["From"]; 
     _grid.PerformAction(UltraGridAction.EnterEditMode); 
     _grid.DisplayLayout.Bands[0].Columns["From"].Editor.Focus(); 
    } 

qui, lorsqu'il est appelé par l'événement de peinture de forme, fonctionne bien. Mais il est irritant de voir le contrôle se concentrer sur chaque peinture. Appelez cela en charge, concentre l'attention; mais ne définit pas le contrôle en mode édition.

Merci déjà

Jyotsna

+0

Quels sont les autres événements essayez-vous en? –

Répondre

0

Je ne suis pas sûr, mais je fait un peu googler et peut-être,

_grid.Rows[0].Cells["From"].Activate(); 

au lieu d'appeler

_grid.ActiveCell = _grid.Rows[0].Cells["From"]; 

Ne peut pas être sûr si cela fera une différence, mais essayez-le.

+0

Merci pour le post .. mais cela n'a pas fonctionné :(.... Je ne sais pas vraiment pourquoi cela fonctionne sur la peinture, mais pas sur d'autres événements –

+5

Infragistics peut faire quoi que ce soit, mais le comprendre n'est pas intuitif ... pas même un petit peu. – Mario

0

ici Résolu: link

var cell = ... // Get the cell 

if (cell != null) 
{ 
    BeginInvoke(new MethodInvoker(() => 
    { 
      cell.Activate(); 
      bugGrid.PerformAction(UltraGridAction.EnterEditMode); 
    })); 
} 
Questions connexes