Salve a tutti, forse avete già trattato questo problema, ma non ho trovato nulla sul forum.
Dunque ecco il mio problema, ho deciso di farmi un user control con datagridview, un pò personalizzato, tipo con celle di tipo diverso (date, progress bar, menu tipo toolstrip etc), sono riuscito (un pò con la mia esperienza, ma soprattutto scopiazzando un pò qua e la), a creare un user control con dentro un datagridview, che ha la possibilità di mettere un calendarcell, e altri tipi di colonne...... ma il tutto se lo faccio dal designer dell'user control, dal form no......
Mi spiego meglio, se inserisco questo user control in un form, e ci clicco sopra vedo taaaaaaaaaaaante proprietà, ma non quelle del datagrid..... quindi se io devo aggiungere una nuova colonna lo devo fare dalle proprietà del datagrid, all'interno dell'user control.......
Quindi vorrei esporre tali proprietà all'esterno, in modo tale da poterle modificare direttamente dal form che usa il controllo. Ho provato vari tentativi tipo
Public Property InnerDataGridView() As DataGridView
Get
Return Me.dgDati
End Get
Set(ByVal value As DataGridView)
Me.dgDati = value
End Set
End Property
se clicco (dal form chiaramente) su questa proprietà vedo tutte le proprietà del datagrid, ma se clicco sull'insieme columns mi dice "riferimento ad un ogetto non impostato su un'istanza di ogetto".
poi ho provato a fare
Public Property InnerDataGridView1() As DataGridViewColumnCollection
Get
Return dgDati.Columns
End Get
Set(ByVal value As DataGridViewColumnCollection)
dgDati.Columns.Clear()
For Each aa As DataGridViewColumn In value
dgDati.Columns.Add(aa)
Next
End Set
End Property
mi apre l'insieme columns, ma se clicco su aggiungi mi dice che la proprietà celltype è null
Sapete come posso fare???
in pratica secondo me, è come se il controllo (datagridview) in design mode non fosse ancora inizializzato, e quindi mi da tutti questi problemi....
Avevo trovato una if da fare nella load, che diceva che se era in design mode aggiungeva il controllo, ma dava problemi...
spero di essere stato chiaro
Grazie in anticipo......
Ciao