6 messaggi dal 12 ottobre 2010
Salve,
ho configurato una DataGridView con tre colonne: una TextBox (col=1) e due ComboBox (col=0, col=2).
Alla DataGridView ho aggiunto la sottoscrizione all'evento "EditingControlShowing":

dataGridView1.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(dataGridView1_EditingControlShowing);


Il problema sorge all'interno dell'evento, ovvero non riesco a determinare quale delle due ComboBox è il mittente dell'evento.
Inoltre, controllando "dataGridView1.CurrentCell.ColumnIndex" ottengo sempre l'indice della colonna più a sinistra (col=0)

void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is ComboBox)
{
ComboBox cb = (ComboBox)e.Control;
Console.WriteLine(string.Format("\tCombox.Name={0}", cb.Name));
}
}

Qualcuno ha un'idea?

Grazie 1K
xmg

xmg
63 messaggi dal 08 giugno 2010
cosa devi fare?
potresti passare direttamente dal combobox con un evento del tipo lostKeyboardfocus e poi castarlo.
6 messaggi dal 12 ottobre 2010
Ciao,
la mia necessita è quella di individuare quale delle due combobox è stata selezionata in modo da 'specializzare' il contenuto della seconda combox in base alla selezione della prima.

Grazie
xmg

xmg
63 messaggi dal 08 giugno 2010
appunto, potresti utilizzare questo evento LostKeyboardFocus="CbxProva_LostKeyboardFocus" e dal c# lo casti.
il codice c# è il seguente

private void CbxProva_LostKeyboardFocus(object sender, KeyboardFocusChangedEventArgs e)
{
ComboBox Cbx = (ComboBox)sender;
}

a questo punto dentro Cbx hai tutto quello che ti serve sel tuo combo.

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.