WinForms .NET 3.5 (C#)display di controllo utente in DataGridViewCell
Ho un DataGridView (DGView) e ho creato CustomColumn e CustomCell da visualizzare nella DGView. Ho creato un CustomUserControl che voglio visualizzare in CustomCell.
Problema: non vedo il controllo utente nella colonna. Penso di aver bisogno di sovrascrivere il metodo Paint() in CustomCell - Qualsiasi punto come posso farlo?
Nota: l'esempio MSDN di controllo utente di hosting consente di modificare il valore della cella, in cui è possibile rendere visibile il controllo utente proprio nel punto in cui si modifica la cella. Voglio che il mio controllo utente sia visualizzato come un normale controllo delle forme. Questo controllo utente mostra le notifiche per la riga .. e ogni riga può avere notifiche diverse. Voglio che gli utenti siano in grado di fare clic sulla notifica e ottenere maggiori dettagli a riguardo. .. ma per ora sono bloccato a "come faccio a visualizzare questo controllo utente"
Qualsiasi suggerimento sarà molto apprezzato.
public class CustomColumn : DataGridViewColumn {
public CustomColumn() : base(new CustomeCell()) { }
public override DataGridViewCell CellTemplate
{
get
{
return base.CellTemplate;
}
set
{
// Ensure that the cell used for the template is a CalendarCell.
if (value != null &&
!value.GetType().IsAssignableFrom(typeof(CustomeCell)))
{
throw new InvalidCastException("It should be a custom Cell");
}
base.CellTemplate = value;
}
}
}
public class CustomeCell : DataGridViewTextBoxCell
{
public CustomeCell() : base() { }
public override Type ValueType
{
get
{
return typeof(CustomUserControl);
}
}
public override Type FormattedValueType
{
get
{
return typeof(CustomUserControl);
}
}
}
È inoltre necessario definire una classe derivata da Control e implementare l'interfaccia IDataGridViewEditingControl. –
@AngshumanAgarwal Come ho detto nella mia domanda - Non voglio modificare, voglio solo mostrare il mio controllo utente per tutte le righe in una colonna. – karephul
non capisco esattamente..ma vuoi mostrare i valori delle celle non mostrate di un datagridview all'utente ?? (es. quando l'utente fa clic una volta su una cella) se è così, quindi usa semplicemente ToolTip con SQLQuery o LINQ – sihirbazzz