Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [VB.NET] Impossibile convertire il valore di tipo (..) DataGridViewComboBoxColumn

    Salve a tutti,

    ho il seguente codice per aggiungere una colonna ComboBox ad un datagrid


    codice:
            Dim comboBoxColumn As New DataGridViewComboBoxColumn()
            comboBoxColumn.Items.AddRange(Color.Red, Color.Yellow, Color.Green, Color.Blue)
            comboBoxColumn.ValueType = GetType(Color)
            DataGrid1.Columns.Add(comboBoxColumn)
    ma mi da il seguente errore


    codice:
    Errore	
    
    Risoluzione dell'overload non riuscita perché nessun "Add" accessibile può essere chiamato con questi argomenti: 
        'Public Function Add(columnName As String) As System.Data.DataColumn': Impossibile convertire il valore di tipo "System.Windows.Forms.DataGridViewComboBoxColumn" in "String".
        'Public Sub Add(column As System.Data.DataColumn)': Impossibile convertire il valore di tipo "System.Windows.Forms.DataGridViewComboBoxColumn" in "System.Data.DataColumn".

    Come posso risolvere? ho provato di tutto anche a convertire la columnbox in datacolum ma non funziona.


    Grazie per i suggerimenti

    Byez

  2. #2
    codice:
    [...]
    
            private void Form1_Load(object sender, EventArgs e)
            {
                this.comboBox1.Items.AddRange(new string[] { Color.Red.Name, Color.Yellow.Name, Color.Green.Name });
    
            }
    [...]
    
            private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                Color c = Color.FromName(this.comboBox1.SelectedItem.ToString());
                MessageBox.Show(c.Name);
            }
    con AddRange devi assegnare un array di oggetti, in questo caso stringhe

    utilizzando la proprietà Name nella combo sai che richiamando Color.FromName() risalirai all'esatto colore scelto dall'utente


    no pain no gain!

    ricordati che hai dei limiti...

  3. #3

    Re: [VB.NET] Impossibile convertire il valore di tipo (..) DataGridViewComboBoxColumn

    Forse non mi sono spiegato,
    anche facendo :
    codice:
            Dim comboBoxColumn As New DataGridViewComboBoxColumn()
            comboBoxColumn.Items.AddRange(1,2,3,4)
    
            DataGrid1.Columns.Add(comboBoxColumn)
    mi da sempre quell'errore, che non è per l'insieme di oggetti ma per il tipo della variabile stessa

  4. #4
    ok. mea culpa. capito male

    sicuro che datagrid1 sia una datagridview? dalla definizione dell'errore sembra che datagrid1 sia datagrid, non datagridview...
    no pain no gain!

    ricordati che hai dei limiti...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.