Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [VB.NET] - Creare una datagridview identica ad un'altra da runtime

    Ciao a tutti!
    Vi espongo il mio nuovo problema!

    Ho una datagridview bella formattata dall'ambiente di sviluppo! Ora mi accingo a crearne dei cloni tramite click di un bottone.

    Per la datagrid non sto trovando problemi per le colonne si!

    in sostanza faccio questo:

    codice:
    For Each colonna As DataGridViewColumn In oldDGW.Columns
          Dim newCol As New DataGridViewColumn
          newCol.CellTemplate = colonna.CellTemplate
          newCol.DefaultCellStyle = colonna.DefaultCellStyle
          newCol.HeaderText = colonna.HeaderText
          newCol.Name = colonna.Name
          newCol.ReadOnly = colonna.ReadOnly
          newCol.Width = colonna.Width
          newCol.Visible = colonna.Visible
          newDGW.Columns.AddRange(New DataGridViewColumn() {newCol})
    Next
    NewDGW sarebbe la nuova griglia (il clone) mentre oldDGW quella che uso come matrice per copiare le proprietà!

    Mi restituisce il seguente errore:

    "Almeno una delle colonne del controllo DataGridView non ha alcun modello di cella."

    Credo dipenda dal fatto che per creare una nuova colonna dovrei dire il tipo di dato contenuto in fase di dichiarazione:

    ES:
    Dim newCol As New DataGridViewTextBoxColumn
    oppure
    Dim newCol As New DataGridViewCheckBoxColumn

    tale proprietà la recupero da celltype, il problema è che è readOnly quindi se provo a fare:
    codice:
    newCol.celltype=colonna.celltype
    mi genera un'eccezione!

    Avete qualche consiglio?

  2. #2
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    Potresti creare il dgw come usercontrol...

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    non so che significhi

  4. #4

    Re: [VB.NET] - Creare una datagridview identica ad un'altra da runtime

    Originariamente inviato da Veronica80
    Ciao a tutti!
    ...
    Per la datagrid non sto trovando problemi per le colonne si!
    ...
    Avete qualche consiglio?
    Ciao,

    la datagridviewcolumn ha un metodo clone che sembra proprio faccia al caso tuo.

    Non ho provato ma, ad occhio e croce, una cosa del genere dovrebbe funzionare
    codice:
    foreach (DataGrodViewColunn dgv in ....)
     newDgv.columns.add((DataGridViewColumn)dgv.clone())

  5. #5
    Utente di HTML.it L'avatar di Vinsent
    Registrato dal
    May 2011
    Messaggi
    314
    Originariamente inviato da Veronica80
    non so che significhi
    Quando aggiungi una form, un modulo o una classe tra le varie voci trovi anche "controllo utente" (o usercontrol), lo aggiungi al progetto, ci metti dentro il dgw e compili il progetto dopodichè lo trovi nella casella degli strumenti insieme agli altri controlli e come questi ultimi lo puoi aggiungere a runtime con qualche riga di codice...

  6. #6
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Dai! Sta cosa del controllo utente è fighissima! Ho provato a farla ma non mi ritrovo nulla nella casella degli strumenti

    Adesso provo anche con "clone" tanto per non lasciare nulla al caso

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da Veronica80
    Dai! Sta cosa del controllo utente è fighissima! Ho provato a farla ma non mi ritrovo nulla nella casella degli strumenti

    Adesso provo anche con "clone" tanto per non lasciare nulla al caso
    Non mi pare che Clone c'entri qualcosa...

    Vedi invece questo esempio:
    VS2008 - CustomComponents (VB.NET+C#)
    http://nuke.vbcorner.net/Progetti/NE...T/Default.aspx
    è fatto con un TextBox, ma il concetto è il medesimo e, come vedi, puoi costruirti nuove Proprietà custom.


  8. #8
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Grazie Gibra! Sembra molto simile al controllo utente. Purtroppo (forse son cieca io!) anche qui non trovo il modo in cui poi usare il componente! Come lo inserisco nella barra degli strumenti?

    Ho provato a fare via codice:

    codice:
     dim MioComp as new MioComponente
    me.components.add(mioComp)
    ma non va!


    Mentre se faccio un controllo utente funziona ma non so perchè non mi accetta le groupBox...cioè se metto una groupbox con dentro le textbox quando poi lo metto sul form me lo da vuoto :/

  9. #9
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    come non detto...sono un idiota!
    Avendo fatto copia/incolla del contenuto della groupbox dalla matrice che avevo creato prima (che era invisibile essendo una matrice nascosta nel form) avevo scordato di reimpostare il visible su true xD

    adesso ci smanetto un po!

    W i controlli utente

  10. #10
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Domanda forse stupida:
    E' possibile rendere il controllo utente ancorabile al contenitore padre?

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.