/ / Crea UserControl usando UltraGrid di Infragistics [chiuso] - c #, .net, controlli personalizzati, infragistica, ultragrido

Crea UserControl usando UltraGrid di Infragistics [chiuso] - c #, .net, controlli personalizzati, infragistica, ultragrido

Voglio creare un controllo personalizzato utilizzando il controllo UltraGrid di Infragistics. Voglio aggiungere un pulsante sopra l'UltraGrid che esporta i dati come Excel. Puoi avere un'idea migliore guardando l'immagine qui sotto.

inserisci la descrizione dell'immagine qui

Questa griglia è usata molte volte nel mio progetto quindiche ne ho bisogno in un controllo utente. Ho provato a crearlo ma quando aggiungo questo controllo nel mio progetto non posso accedere a tutte le proprietà effettive di quell'ult UltraGrid.

per favore aiuto...

risposte:

1 per risposta № 1

Stai creando un composite control. Normalmente questo significa che non puoi accedere acomporre i controlli dal modulo in cui si desidera posizionare il controllo utente. Di solito è necessario fornire il codice per accedere alle proprietà e agli eventi sottostanti dei controlli che compongono il tuo UserControl.

Ad esempio, supponendo che si desideri modificare la didascalia di UltraWinGrid all'interno del controllo utente, è necessario scrivere una proprietà get / set come questa nel codice di UserControl.

public string GridText
{
get
{
return ultraGrid1.Text;
}
set
{
ultraGrid1.Text = value;
}
}

Come puoi immaginare, questo non è un compito banale con un controllo come Infragistics UltraWinGrid che ha probabilmente migliaia di proprietà. Per non parlare della lunga lista di eventi.

Vedi qui un tutorial da Microsoft sulla costruzione di un controllo composito e che spiegano il problema con le proprietà dei controlli sottostanti.

Una soluzione semplice (NON RACCOMANDATA) potrebbe esseremodificare la proprietà Modificatori di UltraWinGrid e del pulsante da Privato a Pubblico. In questo modo il riferimento alla griglia è disponibile dalle proprietà di UserControl e puoi programmarlo come prima.

 userControl1.ultraGrid1.Text = "My User Control";

Tuttavia questo non è raccomandato perché si dà pieno accesso ai controlli di composizione e questo, in certe situazioni, potrebbe non essere opportuno. Dipende in gran parte dal tuo scenario d'uso.