2011-02-07 37 views
35

Come impostare lo stato attivo su qualsiasi cella specificata in DataGridView? Mi aspettavo un modo semplice come Focus (rowindex, columnindex) ma non è così facile.DataGridView - Mette a fuoco una cella specifica

+0

Prova questo fuori ..... http://stackoverflow.com/questions/20822270/canceledit-does-not-keep-focus-on-edited-cell-in-datagridview-c -sharp –

risposta

64

Imposta la cella corrente come:

DataGridView1.CurrentCell = DataGridView1.Rows[rowindex].Cells[columnindex] 

o

DataGridView1.CurrentCell = DataGridView1.Item("ColumnName", 5) 

e si può mettere a fuoco direttamente con Montaggio di:

dataGridView1.BeginEdit(true) 
+9

.CurrentCell ha funzionato, ma DataGridView1.Item (1, 5) no. Ho dovuto fare: dataGridView1.CurrentCell = dataGridView1.Rows [rowindex] .Cells [columnindex]. –

11

è possibile impostare Focus a uno specifico Cell impostando Selected proprietà su true

dataGridView1.Rows[rowindex].Cells[columnindex].Selected = true; 

per evitare di selezione multipla basta impostare

dataGridView1.MultiSelect = false; 
5

il problema con datagridview è che selezionare la prima riga automaticamente quindi vuoi deselezionare la selezione per

grvPackingList.ClearSelection(); 
dataGridView1.Rows[rowindex].Cells[columnindex].Selected = true; 

altri saggi non funzionerà

-1
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
    { 
     int row = e.RowIndex; 
     int col = e.ColumnIndex; 
     if (row < 0 || col != 3) 
      return; 
     if (e.FormattedValue.ToString().Equals(String.Empty)) 
     { 
     } 

     else 
     { 
      double quantity = 0; 
      try 
      { 
       quantity = Convert.ToDouble(e.FormattedValue.ToString()); 
       if (quantity == 0) 
       { 
        MessageBox.Show("The quantity can not be Zero", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); 
        e.Cancel = true; 
        return; 
       } 
      } 
      catch 
      { 
       MessageBox.Show("The quantity should be decimal value.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); 
       e.Cancel = true; 
       return; 
      } 
     } 
    } 
+1

Questa non è una soluzione valida alla domanda posta. – Tizz

0

DataGridView1.CurrentCell = DataGridView1.Item ("ColumnName", 5)

3

Ho avuto un problema simile. Ho nascosto alcune colonne e in seguito ho provato a selezionare la prima riga. Questo non funzionava:

datagridview1.Rows[0].Selected = true; 

Così ho provato selezionando cell[0,0], ma anche non ha funzionato, perché questa cellula non è stata visualizzata. Ora la mia soluzione finale sta funzionando molto bene:

datagridview1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;  
datagridview1.CurrentCell = datagridview1.FirstDisplayedCell; 

Quindi questo seleziona la prima riga completa.

1
public void M(){ 
    dataGridView1.CurrentCell = dataGridView1.Rows[0].Cells[0]; 
    dataGridView1.CurrentCell.Selected = true; 
    dataGridView1.BeginEdit(true); 
} 
+2

cura di spiegare? – SMUsamaShah

0

in form_load evento (mittente dell'oggetto, EventArgs e) Prova questa

dataGridView1.CurrentCell = dataGridView1.Rows [dataGridView1.Rows.Count1] .Cells [0];

questo codice fare attenzione per ultima fila e primo cellulare

-1

solo semplice e incollare Passo Gridcolor() qualsiasi dove si desidera.

Private Sub Gridcolor() 
    With Me.GridListAll 
     .SelectionMode = DataGridViewSelectionMode.FullRowSelect 
     .MultiSelect = False 
     '.DefaultCellStyle.SelectionBackColor = Color.MediumOrchid 
    End With 
End Sub 
+2

Benvenuto in Stack Overflow! Anche se questo snippet di codice può risolvere la domanda, [inclusa una spiegazione] (// meta.stackexchange.com/questions/114762/explaining-entely-code-based-answers) aiuta davvero a migliorare la qualità del tuo post.Ricorda che stai rispondendo alla domanda per i lettori in futuro, e queste persone potrebbero non conoscere le ragioni del tuo suggerimento sul codice. Cerca anche di non affollare il tuo codice con commenti esplicativi, questo riduce la leggibilità sia del codice che delle spiegazioni! – kayess

Problemi correlati